summaryrefslogtreecommitdiff
path: root/Donjon/data
diff options
context:
space:
mode:
authorHEBERT Alain <alain.hebert@polymtl.ca>2025-09-23 12:29:46 -0400
committerHEBERT Alain <alain.hebert@polymtl.ca>2025-09-23 12:29:46 -0400
commit3b9fff7b3aecf9d6def9972738aad1d8993da067 (patch)
treedac985c0778f4f35acf530c056036e72339ea3bb /Donjon/data
parentaa8b25a3e754951be0fbd8fb3c0922bb3464675f (diff)
parent68c03c65cfcfd66a3b7c324cfa8770133538f5b0 (diff)
Merge branch '5-corrections-and-improvements-to-the-baff-refl-reflector-model-in-donjon' into 'main'
#5: Corrections and improvements to the Baff-Refl reflector model in Donjon See merge request dragon/5.1!9
Diffstat (limited to 'Donjon/data')
-rw-r--r--Donjon/data/Reflector_beavrs_APEX_DF-RT.x2m3
-rwxr-xr-xDonjon/data/Reflector_beavrs_APEX_DF-RT_proc/CreaDilut.c2m8
-rwxr-xr-xDonjon/data/Reflector_beavrs_APEX_DF-RT_proc/REFL_APEX.c2m8
-rw-r--r--Donjon/data/Reflector_beavrs_DF-ANM.x2m3
-rw-r--r--Donjon/data/Reflector_beavrs_DF-NEM.x2m3
-rwxr-xr-xDonjon/data/Reflector_beavrs_DF-NEM_proc/CreaDilut.c2m8
-rwxr-xr-xDonjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO.c2m26
-rwxr-xr-xDonjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO_ERM.c2m27
-rwxr-xr-xDonjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO_RM.c2m24
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT-SPN.x2m3
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT.x2m3
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99.x2m3
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1Apolib99.x2m3
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295.x2m3
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_apx.x2m3
-rw-r--r--Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco.x2m3
-rwxr-xr-xDonjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco_proc/CreaDilut.c2m8
-rwxr-xr-xDonjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco_proc/REFL_MCO.c2m8
-rw-r--r--Donjon/data/Reflector_beavrs_ERM-ANM.x2m4
-rw-r--r--Donjon/data/Reflector_beavrs_ERM-NEM.x2m4
-rw-r--r--Donjon/data/Reflector_beavrs_Koebke.x2m3
-rw-r--r--Donjon/data/Reflector_beavrs_multicompo_DF-RT.x2m69
22 files changed, 173 insertions, 54 deletions
diff --git a/Donjon/data/Reflector_beavrs_APEX_DF-RT.x2m b/Donjon/data/Reflector_beavrs_APEX_DF-RT.x2m
index 9a550d9..36b744b 100644
--- a/Donjon/data/Reflector_beavrs_APEX_DF-RT.x2m
+++ b/Donjon/data/Reflector_beavrs_APEX_DF-RT.x2m
@@ -50,9 +50,10 @@ Param := UTL: :: CREA PARAMVALU 1 = 975.
UTL: Param :: DUMP ;
INTEGER nlf := 1 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
ApexRefl := REFL_APEX Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* APEX extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_APEX_DF-RT_proc/CreaDilut.c2m b/Donjon/data/Reflector_beavrs_APEX_DF-RT_proc/CreaDilut.c2m
index 48db04e..9b23d60 100755
--- a/Donjon/data/Reflector_beavrs_APEX_DF-RT_proc/CreaDilut.c2m
+++ b/Donjon/data/Reflector_beavrs_APEX_DF-RT_proc/CreaDilut.c2m
@@ -36,6 +36,7 @@ REAL avo_conc := avogadro 1.E-24 * ;
REAL dSS := 7.792815 ; ! Densite de l'acier inoxydable (SS304)
REAL dZr4 := 6.49012 ; ! Densite du zircaloy 4
REAL dInc := 8.303 ; ! Densite inconel (a 20 degres C...)
+INTEGER nbZones ; ! Nombre de zones dans le reflecteur
INTEGER iMil ; ! Numero de la zone reflecteur
REAL TMil ; ! Temperature du moderateur en degres C (suppose = T de tout le milieu)
REAL dZone ; ! Densite de la zone consideree
@@ -49,7 +50,7 @@ INTEGER LibId ;
*--------------------------------------------------------------------
* Fractions volumiques des differents milieux presents dans la zone
*--------------------------------------------------------------------
-:: >>dMod<< >>iMil<< >>TMil<< >>CB<< >>fvMod<< >>fvZr4<< >>fvInc<< >>fvSS304<<
+:: >>dMod<< >>nbZones<< >>iMil<< >>TMil<< >>CB<< >>fvMod<< >>fvZr4<< >>fvInc<< >>fvSS304<<
>>NuclData<< >>LibType<< ;
*------------------------------------------------------
@@ -423,9 +424,10 @@ ECHO "Nb93 " Nb93 ;
* Definition du melange correspondant dans la librairie
*--------------------------------------------------------------------
ECHO "CreaDilut: call LIB" ;
+INTEGER nmix := nbZones 1 + ;
IF iMil 1 = THEN
LibDilut := LIB: ::
- MXIS 300 NMIX 8
+ MXIS 300 NMIX <<nmix>>
MIXS LIB: <<LibGenre>> FIL: <<NuclData>>
* Milieu generique issu de la dilution de tous les constituants
MIX 1 <<TMil>>
@@ -465,7 +467,7 @@ IF iMil 1 = THEN
;
ELSE
LibDilut := LIB: LibDilut ::
- MXIS 300 NMIX 8
+ MXIS 300 NMIX <<nmix>>
MIXS LIB: <<LibGenre>> FIL: <<NuclData>>
* Milieu generique issu de la dilution de tous les constituants
MIX <<iMil>> <<TMil>>
diff --git a/Donjon/data/Reflector_beavrs_APEX_DF-RT_proc/REFL_APEX.c2m b/Donjon/data/Reflector_beavrs_APEX_DF-RT_proc/REFL_APEX.c2m
index 6a2f2cc..8d55fb4 100755
--- a/Donjon/data/Reflector_beavrs_APEX_DF-RT_proc/REFL_APEX.c2m
+++ b/Donjon/data/Reflector_beavrs_APEX_DF-RT_proc/REFL_APEX.c2m
@@ -7,7 +7,7 @@
* CALL : *
* ApexRefl := REFL_APEX Geom FVol Param :: <<nameFeed>> <<nameRefl>> *
* <<Palier>> <<htype>> <<LibType>> <<NuclData>> *
-* <<OptSph>> <<OptNoal>> <<OptSS>> ; *
+* <<OptSph>> <<OptNoal>> <<OptSS>> <<nbZones>> ; *
* *
* Input objects: *
* Geom : macro-geometry LCM object *
@@ -25,6 +25,7 @@
* OptSph : 'SPH'/'NOSP' transform DF into ADF/keep DF *
* OptNoal : 'ALBE'/'NOAL' compute albedo/force right albedo to 0 *
* OptSS : 'TONE'/'NOSS' do/don't activate self-shielding of Fe56 and Cr52 *
+* nbZones : number of zones in the reflector *
* *
* Output objects: *
* ApexRefl : reflector APEX file *
@@ -38,6 +39,7 @@ STRING nameFeed nameRefl Palier htype ;
INTEGER nlf ; :: >>nlf<< ;
STRING LibType NuclData OptSph OptNoal OptSS ;
:: >>LibType<< >>NuclData<< >>OptSph<< >>OptNoal<< >>OptSS<< ;
+INTEGER nbZones ; :: >>nbZones<< ;
PROCEDURE GetMolarMass MetalMix CreaDilut assertS ;
LINKED_LIST
DONNEES Geom_refl LibDilut MACRO LibFuel MolarMasses FeNat CrNat SnNat
@@ -166,8 +168,6 @@ TRACK_refl := SNT: Geom_refl ::
MAXR 100000
SN 16 SCAT <<iscat>> ;
-INTEGER nbZones := 7 ;
-
REAL dModBas := 0.753 ; ! Densite du moderateur en entree du coeur
REAL TMilBas := 286.4 ; ! Temp du reflecteur bas (soit Tmod,entree)
EVALUATE TMilBas := TMilBas 273.15 + ; ! Conversion en Kelvin
@@ -251,7 +251,7 @@ WHILE IndexCB iBoreMax < DO
! Define MIX 1 in reflector macrolib
LibDilut := CreaDilut LibDilut MolarMasses BNat Zirc4 Incon SS304 ::
- <<dMod>> <<premierMIX>> <<TMil>> <<CB>> <<fvMod>> <<fvZr4>> <<fvInc>>
+ <<dMod>> <<nbZones>> <<premierMIX>> <<TMil>> <<CB>> <<fvMod>> <<fvZr4>> <<fvInc>>
<<fvSS304>> <<NuclData>> <<LibType>> ;
EVALUATE iZone := iZone 1 + ;
diff --git a/Donjon/data/Reflector_beavrs_DF-ANM.x2m b/Donjon/data/Reflector_beavrs_DF-ANM.x2m
index c99fd70..33dda96 100644
--- a/Donjon/data/Reflector_beavrs_DF-ANM.x2m
+++ b/Donjon/data/Reflector_beavrs_DF-ANM.x2m
@@ -50,9 +50,10 @@ Param := UTL: :: CREA PARAMVALU 1 = 975.
UTL: Param :: DUMP ;
INTEGER nlf := 1 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
MpoRefl := REFL_MPO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_DF-NEM.x2m b/Donjon/data/Reflector_beavrs_DF-NEM.x2m
index 4d18a39..4daa6a8 100644
--- a/Donjon/data/Reflector_beavrs_DF-NEM.x2m
+++ b/Donjon/data/Reflector_beavrs_DF-NEM.x2m
@@ -50,9 +50,10 @@ Param := UTL: :: CREA PARAMVALU 1 = 975.
UTL: Param :: DUMP ;
INTEGER nlf := 1 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
MpoRefl := REFL_MPO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_DF-NEM_proc/CreaDilut.c2m b/Donjon/data/Reflector_beavrs_DF-NEM_proc/CreaDilut.c2m
index 759916c..e578a12 100755
--- a/Donjon/data/Reflector_beavrs_DF-NEM_proc/CreaDilut.c2m
+++ b/Donjon/data/Reflector_beavrs_DF-NEM_proc/CreaDilut.c2m
@@ -36,6 +36,7 @@ REAL avo_conc := avogadro 1.E-24 * ;
REAL dSS := 7.792815 ; ! Densite de l'acier inoxydable (SS304)
REAL dZr4 := 6.49012 ; ! Densite du zircaloy 4
REAL dInc := 8.303 ; ! Densite inconel (a 20 degres C...)
+INTEGER nbZones ; ! Nombre de zones dans le reflecteur
INTEGER iMil ; ! Numero de la zone reflecteur
REAL TMil ; ! Temperature du moderateur en degres C (suppose = T de tout le milieu)
REAL dZone ; ! Densite de la zone consideree
@@ -49,7 +50,7 @@ INTEGER LibId ;
*--------------------------------------------------------------------
* Fractions volumiques des differents milieux presents dans la zone
*--------------------------------------------------------------------
-:: >>dMod<< >>iMil<< >>TMil<< >>CB<< >>fvMod<< >>fvZr4<< >>fvInc<< >>fvSS304<<
+:: >>dMod<< >>nbZones<< >>iMil<< >>TMil<< >>CB<< >>fvMod<< >>fvZr4<< >>fvInc<< >>fvSS304<<
>>NuclData<< >>LibType<< ;
*------------------------------------------------------
@@ -423,9 +424,10 @@ ECHO "Nb93 " Nb93 ;
* Definition du melange correspondant dans la librairie
*--------------------------------------------------------------------
ECHO "CreaDilut: call LIB" ;
+INTEGER nmix := nbZones 1 + ;
IF iMil 1 = THEN
LibDilut := LIB: ::
- MXIS 300 NMIX 8
+ MXIS 300 NMIX <<nmix>>
MIXS LIB: <<LibGenre>> FIL: <<NuclData>>
* Milieu generique issu de la dilution de tous les constituants
MIX 1 <<TMil>>
@@ -465,7 +467,7 @@ IF iMil 1 = THEN
;
ELSE
LibDilut := LIB: LibDilut ::
- MXIS 300 NMIX 8
+ MXIS 300 NMIX <<nmix>>
MIXS LIB: <<LibGenre>> FIL: <<NuclData>>
* Milieu generique issu de la dilution de tous les constituants
MIX <<iMil>> <<TMil>>
diff --git a/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO.c2m b/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO.c2m
index 82b8061..6073dea 100755
--- a/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO.c2m
+++ b/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO.c2m
@@ -7,7 +7,7 @@
* CALL : *
* MpoRefl := REFL_MPO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> *
* <<htype>> <<nlf>> <<LibType>> <<NuclData>> *
-* <<OptSph>> <<OptNoal>> <<OptSS>> ; *
+* <<OptSph>> <<OptNoal>> <<OptSS>> <<nbZones>> ; *
* *
* Input objects: *
* Geom : macro-geometry LCM object *
@@ -25,6 +25,7 @@
* OptSph : 'SPH'/'NOSP' transform DF into ADF/keep DF *
* OptNoal : 'ALBE'/'NOAL' compute albedo/force right albedo to 0 *
* OptSS : 'TONE'/'NOSS' do/don't activate self-shielding of Fe56 and Cr52 *
+* nbZones : number of zones in the reflector *
* *
* Output objects: *
* MpoRefl : reflector MPO file *
@@ -38,6 +39,7 @@ STRING nameFeed nameRefl Palier htype ;
INTEGER nlf ; :: >>nlf<< ;
STRING LibType NuclData OptSph OptNoal OptSS ;
:: >>LibType<< >>NuclData<< >>OptSph<< >>OptNoal<< >>OptSS<< ;
+INTEGER nbZones ; :: >>nbZones<< ;
PROCEDURE GetMolarMass MetalMix CreaDilut assertS_low ;
LINKED_LIST
DONNEES Geom_refl LibDilut MACRO LibFuel MolarMasses FeNat CrNat SnNat
@@ -167,8 +169,6 @@ TRACK_refl := SNT: Geom_refl ::
MAXR 100000
SN 16 SCAT <<iscat>> ;
-INTEGER nbZones := 7 ;
-
REAL dModBas := 0.753 ; ! Densite du moderateur en entree du coeur
REAL TMilBas := 286.4 ; ! Temp du reflecteur bas (soit Tmod,entree)
EVALUATE TMilBas := TMilBas 273.15 + ; ! Conversion en Kelvin
@@ -252,8 +252,8 @@ WHILE IndexCB iBoreMax < DO
! Define MIX 1 in reflector macrolib
LibDilut := CreaDilut LibDilut MolarMasses BNat Zirc4 Incon SS304 ::
- <<dMod>> <<premierMIX>> <<TMil>> <<CB>> <<fvMod>> <<fvZr4>> <<fvInc>>
- <<fvSS304>> <<NuclData>> <<LibType>> ;
+ <<dMod>> <<nbZones>> <<premierMIX>> <<TMil>> <<CB>> <<fvMod>> <<fvZr4>>
+ <<fvInc>> <<fvSS304>> <<NuclData>> <<LibType>> ;
EVALUATE iZone := iZone 1 + ;
ENDWHILE ;
@@ -279,9 +279,19 @@ WHILE IndexCB iBoreMax < DO
GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ;
ECHO "SN Keff=" Keff ;
- OUT_1 := EDI: MACRO TRACK FLUX Geom ::
- EDIT 3 UPS MERGE MIX 1 2 3 3 3 3 4 0
- COND 0.625 PNW_SP GOLVER SAVE ;
+ IF nbZones 5 = THEN
+ OUT_1 := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE MIX 1 2 3 3 4 0
+ COND 0.625 PNW_SP GOLVER SAVE ;
+ ELSEIF nbZones 6 = THEN
+ OUT_1 := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE MIX 1 2 3 3 3 4 0
+ COND 0.625 PNW_SP GOLVER SAVE ;
+ ELSEIF nbZones 7 = THEN
+ OUT_1 := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE MIX 1 2 3 3 3 3 4 0
+ COND 0.625 PNW_SP GOLVER SAVE ;
+ ENDIF ;
IF IndexCB 1 = THEN
OUTF := EDI: MACRO TRACK FLUX Geom ::
EDIT 3 UPS MERGE NONE
diff --git a/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO_ERM.c2m b/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO_ERM.c2m
index fc23400..f13a34d 100755
--- a/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO_ERM.c2m
+++ b/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO_ERM.c2m
@@ -8,7 +8,7 @@
* CALL : *
* MpoRefl := REFL_MPO_ERM Geom FVol Param1 Param2 :: <<nameFeed>> *
* <<nameRefl>> <<Palier>> <<htype>> <<LibType>> <<NuclData>> *
-* <<OptNoal>> <<OptSS>> ; *
+* <<OptNoal>> <<nbZones>> ; *
* *
* Input objects: *
* Geom : macro-geometry LCM object *
@@ -24,6 +24,7 @@
* set in the .access script file *
* OptNoal : 'ALBE'/'NOAL' compute albedo/force right albedo to 0 *
* OptSS : 'TONE'/'NOSS' do/don't activate self-shielding of Fe56 and Cr52 *
+* nbZones : number of zones in the reflector *
* *
* Output objects: *
* MpoRefl : reflector MPO file *
@@ -35,6 +36,7 @@ PARAMETER MpoRefl Geom FVol Param1 Param2 ::
STRING nameFeed nameRefl Palier htype LibType NuclData OptNoal OptSS ;
:: >>nameFeed<< >>nameRefl<< >>Palier<< >>htype<< >>LibType<< >>NuclData<<
>>OptNoal<< >>OptSS<< ;
+INTEGER nbZones ; :: >>nbZones<< ;
PROCEDURE GetMolarMass MetalMix CreaDilut assertS_low ;
LINKED_LIST
DONNEES Geom_refl LibDilut MACRO LibFuel LibFuel_1 LibFuel_2 MolarMasses FeNat
@@ -106,8 +108,6 @@ TRACK_refl := SNT: Geom_refl ::
MAXR 100000
SN 16 SCAT 2 ;
-INTEGER nbZones := 7 ;
-
REAL dModBas := 0.753 ; ! Densite du moderateur en entree du coeur
REAL TMilBas := 286.4 ; ! Temp du reflecteur bas (soit Tmod,entree)
EVALUATE TMilBas := TMilBas 273.15 + ; ! Conversion en Kelvin
@@ -270,8 +270,8 @@ WHILE IndexCB iBoreMax < DO
! Define MIX 1 in reflector macrolib
LibDilut := CreaDilut LibDilut MolarMasses BNat Zirc4 Incon SS304 ::
- <<dMod>> <<premierMIX>> <<TMil>> <<CB>> <<fvMod>> <<fvZr4>> <<fvInc>>
- <<fvSS304>> <<NuclData>> <<LibType>> ;
+ <<dMod>> <<nbZones>> <<premierMIX>> <<TMil>> <<CB>> <<fvMod>> <<fvZr4>>
+ <<fvInc>> <<fvSS304>> <<NuclData>> <<LibType>> ;
EVALUATE iZone := iZone 1 + ;
ENDWHILE ;
@@ -294,13 +294,22 @@ WHILE IndexCB iBoreMax < DO
!----------------------------------------------------------
SYSTEM := ASM: MACRO TRACK :: ARM ;
FLUX := FLU: SYSTEM MACRO TRACK :: EDIT 0 TYPE K P1 HETE ;
-
GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ;
ECHO "IndexCB=" IndexCB "CASE=" CASE "SN Keff=" Keff ;
- OUT := EDI: MACRO TRACK FLUX Geom ::
- EDIT 3 UPS MERGE MIX 1 2 3 3 3 3 4 0
- COND 0.625 GOLVER SAVE ;
+ IF nbZones 5 = THEN
+ OUT := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE MIX 1 2 3 3 4 0
+ COND 0.625 GOLVER SAVE ;
+ ELSEIF nbZones 6 = THEN
+ OUT := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE MIX 1 2 3 3 3 4 0
+ COND 0.625 GOLVER SAVE ;
+ ELSEIF nbZones 7 = THEN
+ OUT := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE MIX 1 2 3 3 3 3 4 0
+ COND 0.625 GOLVER SAVE ;
+ ENDIF ;
IF CASE 1 = THEN
EVALUATE SNKeff1 := Keff ;
diff --git a/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO_RM.c2m b/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO_RM.c2m
index d91cc55..a1f3049 100755
--- a/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO_RM.c2m
+++ b/Donjon/data/Reflector_beavrs_DF-NEM_proc/REFL_MPO_RM.c2m
@@ -8,7 +8,7 @@
* CALL : *
* MpoRefl := REFL_MPO_RM Geom FVol Param1 Param2 :: <<nameFeed>> <<nameRefl>> *
* <<Palier>> <<htype>> <<LibType>> <<NuclData>> <<OptSph>> *
-* <<OptNoal>> <<OptSS>> ; *
+* <<OptNoal>> <<OptSS>> <<nbZones>> ; *
* *
* Input objects: *
* Geom : macro-geometry LCM object *
@@ -25,6 +25,7 @@
* OptSph : 'SPH'/'NOSP' transform DF into ADF/keep DF *
* OptNoal : 'ALBE'/'NOAL' compute albedo/force right albedo to 0 *
* OptSS : 'TONE'/'NOSS' do/don't activate self-shielding of Fe56 and Cr52 *
+* nbZones : number of zones in the reflector *
* *
* Output objects: *
* MpoRefl : reflector MPO file *
@@ -36,6 +37,7 @@ PARAMETER MpoRefl Geom FVol Param1 Param2 ::
STRING nameFeed nameRefl Palier htype LibType NuclData OptSph OptNoal OptSS ;
:: >>nameFeed<< >>nameRefl<< >>Palier<< >>htype<< >>LibType<< >>NuclData<<
>>OptSph<< >>OptNoal<< >>OptSS<< ;
+INTEGER nbZones ; :: >>nbZones<< ;
PROCEDURE GetMolarMass MetalMix CreaDilut assertS ;
LINKED_LIST
DONNEES Library LibDilut MACRO LibFuel MolarMasses FeNat CrNat SnNat
@@ -101,8 +103,6 @@ TRACK := SNT: Geom ::
MAXR 100000
SN 16 SCAT 2 ;
-INTEGER nbZones := 7 ;
-
REAL dModBas := 0.753 ; ! Densite du moderateur en entree du coeur
REAL TMilBas := 286.4 ; ! Temp du reflecteur bas (soit Tmod,entree)
EVALUATE TMilBas := TMilBas 273.15 + ; ! Conversion en Kelvin
@@ -267,7 +267,7 @@ WHILE IndexCB iBoreMax < DO
! Define MIX 1 in reflector macrolib
LibDilut := CreaDilut
MolarMasses BNat Zirc4 Incon SS304 ::
- <<dMod>> 1 <<TMil>> <<CB>> <<fvMod>> <<fvZr4>> <<fvInc>>
+ <<dMod>> <<nbZones>> 1 <<TMil>> <<CB>> <<fvMod>> <<fvZr4>> <<fvInc>>
<<fvSS304>> <<NuclData>> <<LibType>> ;
! Recuperation du MIX constitutif de la zone
@@ -285,9 +285,19 @@ WHILE IndexCB iBoreMax < DO
GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ;
ECHO "IndexCB=" IndexCB "CASE=" CASE "SN Keff=" Keff ;
- OUT := EDI: MACRO TRACK FLUX Geom ::
- EDIT 3 UPS MERGE MIX 1 2 3 3 3 3 4 0
- COND 0.625 GOLVER SAVE ;
+ IF nbZones 5 = THEN
+ OUT := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE MIX 1 2 3 3 4 0
+ COND 0.625 GOLVER SAVE ;
+ ELSEIF nbZones 6 = THEN
+ OUT := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE MIX 1 2 3 3 3 4 0
+ COND 0.625 GOLVER SAVE ;
+ ELSEIF nbZones 7 = THEN
+ OUT := EDI: MACRO TRACK FLUX Geom ::
+ EDIT 3 UPS MERGE MIX 1 2 3 3 3 3 4 0
+ COND 0.625 GOLVER SAVE ;
+ ENDIF ;
IF CASE 1 = THEN
EVALUATE SNKeff1 := Keff ;
diff --git a/Donjon/data/Reflector_beavrs_DF-RT-SPN.x2m b/Donjon/data/Reflector_beavrs_DF-RT-SPN.x2m
index a57591c..cd91c9d 100644
--- a/Donjon/data/Reflector_beavrs_DF-RT-SPN.x2m
+++ b/Donjon/data/Reflector_beavrs_DF-RT-SPN.x2m
@@ -50,9 +50,10 @@ Param := UTL: :: CREA PARAMVALU 1 = 975.
UTL: Param :: DUMP ;
INTEGER nlf := 5 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
MpoRefl := REFL_MPO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_DF-RT.x2m b/Donjon/data/Reflector_beavrs_DF-RT.x2m
index b9833ab..cb40c41 100644
--- a/Donjon/data/Reflector_beavrs_DF-RT.x2m
+++ b/Donjon/data/Reflector_beavrs_DF-RT.x2m
@@ -50,9 +50,10 @@ Param := UTL: :: CREA PARAMVALU 1 = 975.
UTL: Param :: DUMP ;
INTEGER nlf := 1 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
MpoRefl := REFL_MPO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99.x2m b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99.x2m
index 87167f8..5400e5d 100644
--- a/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99.x2m
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jef2p2Apolib99.x2m
@@ -50,9 +50,10 @@ Param := UTL: :: CREA PARAMVALU 1 = 975.
UTL: Param :: DUMP ;
INTEGER nlf := 1 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
MpoRefl := REFL_MPO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1Apolib99.x2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1Apolib99.x2m
index a16c861..a6df25e 100644
--- a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1Apolib99.x2m
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1Apolib99.x2m
@@ -48,9 +48,10 @@ UTL: FVol :: DUMP ;
Param := UTL: ;
INTEGER nlf := 1 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
MpoRefl := REFL_MPO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295.x2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295.x2m
index 1141fdf..7dbbe16 100644
--- a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295.x2m
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295.x2m
@@ -47,9 +47,10 @@ UTL: FVol :: DUMP ;
Param := UTL: ;
INTEGER nlf := 1 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
MpoRefl := REFL_MPO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_apx.x2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_apx.x2m
index 66e8aba..d738d64 100644
--- a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_apx.x2m
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_apx.x2m
@@ -47,9 +47,10 @@ UTL: FVol :: DUMP ;
Param := UTL: ;
INTEGER nlf := 1 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
ApxRefl := REFL_APX Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco.x2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco.x2m
index 8e07b94..77479d8 100644
--- a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco.x2m
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco.x2m
@@ -47,9 +47,10 @@ UTL: FVol :: DUMP ;
Param := UTL: ;
INTEGER nlf := 1 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
_McoRefl := REFL_MCO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* Multicompo extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco_proc/CreaDilut.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco_proc/CreaDilut.c2m
index 8efc07d..2496291 100755
--- a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco_proc/CreaDilut.c2m
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco_proc/CreaDilut.c2m
@@ -36,6 +36,7 @@ REAL avo_conc := avogadro 1.E-24 * ;
REAL dSS := 7.792815 ; ! Densite de l'acier inoxydable (SS304)
REAL dZr4 := 6.49012 ; ! Densite du zircaloy 4
REAL dInc := 8.303 ; ! Densite inconel (a 20 degres C...)
+INTEGER nbZones ; ! Nombre de zones dans le reflecteur
INTEGER iMil ; ! Numero de la zone reflecteur
REAL TMil ; ! Temperature du moderateur en degres C (suppose = T de tout le milieu)
REAL dZone ; ! Densite de la zone consideree
@@ -49,7 +50,7 @@ INTEGER LibId ;
*--------------------------------------------------------------------
* Fractions volumiques des differents milieux presents dans la zone
*--------------------------------------------------------------------
-:: >>dMod<< >>iMil<< >>TMil<< >>CB<< >>fvMod<< >>fvZr4<< >>fvInc<< >>fvSS304<<
+:: >>dMod<< >>nbZones<< >>iMil<< >>TMil<< >>CB<< >>fvMod<< >>fvZr4<< >>fvInc<< >>fvSS304<<
>>NuclData<< >>LibType<< ;
*------------------------------------------------------
@@ -423,9 +424,10 @@ ECHO "Nb93 " Nb93 ;
* Definition du melange correspondant dans la librairie
*--------------------------------------------------------------------
ECHO "CreaDilut: call LIB" ;
+INTEGER nmix := nbZones 1 + ;
IF iMil 1 = THEN
LibDilut := LIB: ::
- MXIS 300 NMIX 8
+ MXIS 300 NMIX <<nmix>>
MIXS LIB: <<LibGenre>> FIL: <<NuclData>>
* Milieu generique issu de la dilution de tous les constituants
MIX 1 <<TMil>>
@@ -465,7 +467,7 @@ IF iMil 1 = THEN
;
ELSE
LibDilut := LIB: LibDilut ::
- MXIS 300 NMIX 8
+ MXIS 300 NMIX <<nmix>>
MIXS LIB: <<LibGenre>> FIL: <<NuclData>>
* Milieu generique issu de la dilution de tous les constituants
MIX <<iMil>> <<TMil>>
diff --git a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco_proc/REFL_MCO.c2m b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco_proc/REFL_MCO.c2m
index b7132e9..d823ce7 100755
--- a/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco_proc/REFL_MCO.c2m
+++ b/Donjon/data/Reflector_beavrs_DF-RT_Jeff3p1SHEM295_mco_proc/REFL_MCO.c2m
@@ -7,7 +7,8 @@
* CALL : *
* _McoRefl := REFL_MCO Geom FVol Param :: <<nameFeed>> <<nameRefl>> *
* <<Palier>> <<htype>> <<nlf>> <<LibType>> *
-* <<NuclData>> <<OptSph>> <<OptNoal>> <<OptSS>> ; *
+* <<NuclData>> <<OptSph>> <<OptNoal>> <<OptSS>> *
+* <<nbZones>> ; *
* *
* Input objects: *
* Geom : macro-geometry LCM object *
@@ -38,6 +39,7 @@ STRING nameFeed nameRefl Palier htype ;
INTEGER nlf ; :: >>nlf<< ;
STRING LibType NuclData OptSph OptNoal OptSS ;
:: >>LibType<< >>NuclData<< >>OptSph<< >>OptNoal<< >>OptSS<< ;
+INTEGER nbZones ; :: >>nbZones<< ;
PROCEDURE GetMolarMass MetalMix CreaDilut assertS ;
LINKED_LIST
McoFeed McoRefl DONNEES Geom_refl LibDilut MACRO LibFuel MolarMasses FeNat CrNat
@@ -169,8 +171,6 @@ TRACK_refl := SNT: Geom_refl ::
MAXR 100000
SN 16 SCAT <<iscat>> ;
-INTEGER nbZones := 7 ;
-
REAL dModBas := 0.753 ; ! Densite du moderateur en entree du coeur
REAL TMilBas := 286.4 ; ! Temp du reflecteur bas (soit Tmod,entree)
EVALUATE TMilBas := TMilBas 273.15 + ; ! Conversion en Kelvin
@@ -253,7 +253,7 @@ WHILE IndexCB iBoreMax < DO
! Define MIX 1 in reflector macrolib
LibDilut := CreaDilut LibDilut MolarMasses BNat Zirc4 Incon SS304 ::
- <<dMod>> <<premierMIX>> <<TMil>> <<CB>> <<fvMod>> <<fvZr4>> <<fvInc>>
+ <<dMod>> <<nbZones>> <<premierMIX>> <<TMil>> <<CB>> <<fvMod>> <<fvZr4>> <<fvInc>>
<<fvSS304>> <<NuclData>> <<LibType>> ;
EVALUATE iZone := iZone 1 + ;
diff --git a/Donjon/data/Reflector_beavrs_ERM-ANM.x2m b/Donjon/data/Reflector_beavrs_ERM-ANM.x2m
index 5860bc0..567a283 100644
--- a/Donjon/data/Reflector_beavrs_ERM-ANM.x2m
+++ b/Donjon/data/Reflector_beavrs_ERM-ANM.x2m
@@ -52,8 +52,10 @@ Param2 := UTL: :: CREA PARAMVALU 1 = 1400.0
CREA 1 2 = 'C-BO' 'RE ' ;
UTL: Param2 :: DUMP ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
MpoRefl := REFL_MPO_ERM Geom FVol Param1 Param2 :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
- <<LibType>> <<NuclData>> <<OptNoal>> <<OptSS>> ;
+ <<LibType>> <<NuclData>> <<OptNoal>> <<OptSS>>
+ <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_ERM-NEM.x2m b/Donjon/data/Reflector_beavrs_ERM-NEM.x2m
index 46ef3b9..7de5e18 100644
--- a/Donjon/data/Reflector_beavrs_ERM-NEM.x2m
+++ b/Donjon/data/Reflector_beavrs_ERM-NEM.x2m
@@ -52,8 +52,10 @@ Param2 := UTL: :: CREA PARAMVALU 1 = 1400.0
CREA 1 2 = 'C-BO' 'RE ' ;
UTL: Param2 :: DUMP ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
MpoRefl := REFL_MPO_ERM Geom FVol Param1 Param2 :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
- <<LibType>> <<NuclData>> <<OptNoal>> <<OptSS>> ;
+ <<LibType>> <<NuclData>> <<OptNoal>> <<OptSS>>
+ <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_Koebke.x2m b/Donjon/data/Reflector_beavrs_Koebke.x2m
index ca6064e..81f3c48 100644
--- a/Donjon/data/Reflector_beavrs_Koebke.x2m
+++ b/Donjon/data/Reflector_beavrs_Koebke.x2m
@@ -53,9 +53,10 @@ Param2 := UTL: :: CREA PARAMVALU 1 = 1400.0
CREA 1 2 = 'C-BO' 'RE ' ;
UTL: Param2 :: DUMP ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
MpoRefl := REFL_MPO_RM Geom FVol Param1 Param2 :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
<<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
- <<OptSS>> ;
+ <<OptSS>> <<nbZones>> ;
************************************************************************
* MPO extrapolation of the reflector at 350 ppm Boron
diff --git a/Donjon/data/Reflector_beavrs_multicompo_DF-RT.x2m b/Donjon/data/Reflector_beavrs_multicompo_DF-RT.x2m
new file mode 100644
index 0000000..12b557c
--- /dev/null
+++ b/Donjon/data/Reflector_beavrs_multicompo_DF-RT.x2m
@@ -0,0 +1,69 @@
+*---
+* Raviart-Thomas Reflector DF-RT equivalence prodedure
+*---
+LINKED_LIST CompoRefl Geom FVol Param MACRO ;
+STRING nameFeed := "assbly_caseA_multicompo_draglib_feed.txt" ;
+STRING nameRefl := "reflector_beavrs_DF-RT_multicompo.txt" ;
+STRING Palier := "Beavrs" ;
+STRING htype := "DF-RT" ;
+STRING LibType := "JEFF311" ;
+STRING NuclData := "DLIB_J3" ;
+STRING OptSph := "NOSP" ;
+STRING OptNoal := "ALBE" ;
+STRING OptSS := "TONE" ;
+MODULE GEO: UTL: NCR: END: ;
+SEQ_ASCII _CompoRefl :: FILE <<nameRefl>> ;
+PROCEDURE REFL_MCO ;
+!
+Geom := GEO: ::
+ CAR1D 12
+ X- REFL X+ VOID
+ MESHX -43.0 -21.5 -5.0 0.0 0.005 2.2225 3.9825 9.6975 10.1975 15.9125 21.5 21.505
+ 35.9125
+ MIX 1 1 1 2 3 4 3 5 6 5
+ ! fuel gap ss ss+h2o ss h2o ss_shield h2o
+ 7 8
+ ! gap h2o
+ SPLITX 20 15 20 1 25 24 10 5 6 5
+ 1 5
+;
+
+* Define volume fractions in 8 mixtures
+* mix=1 : feeding assembly (first fraction is always set to 0)
+* mix=2 : fuel-reflector gap
+* mix=7 : right-most gap to compute albedo
+* mix=8 : residual right reflector
+INTEGER nbZones := 8 ;
+REAL fvacier := 0.05 ;
+REAL fveau := 1.0 fvacier - ;
+FVol := UTL: ::
+ ! MIX 1 2 3 4 5 6 7 8
+CREA 'H2O' <<nbZones>> = 0. 0. 0. <<fveau>> 1. 0. 1. 1.
+CREA 'SS ' <<nbZones>> = 0. 1. 1. <<fvacier>> 0. 1. 0. 0.
+;
+UTL: FVol :: DUMP ;
+
+* Define feeding assembly parameters (0 to 3 parameters allowed)
+Param := UTL: :: CREA PARAMVALU 1 = 750.0 ! set feeding assembly to 750 ppm Boron
+ STEP UP 'PARAMNAME' NEW LIST 1
+ CREA 1 2 = 'ppmB' 'ore ' ;
+UTL: Param :: DUMP ;
+
+INTEGER nlf := 1 ;
+EVALUATE nbZones := nbZones 1 - ; ! decreases nbZones by one
+_CompoRefl := REFL_MCO Geom FVol Param :: <<nameFeed>> <<nameRefl>> <<Palier>> <<htype>>
+ <<nlf>> <<LibType>> <<NuclData>> <<OptSph>> <<OptNoal>>
+ <<OptSS>> <<nbZones>> ;
+
+************************************************************************
+* Multicompo access
+************************************************************************
+CompoRefl := _CompoRefl ;
+REAL densB1 := 350.0 ;
+MACRO := NCR: CompoRefl :: EDIT 3 MACRO NMIX 1
+ COMPO CompoRefl 'COND2'
+ MIX 1 FROM 2 SET 'ppmBore' <<densB1>> SET 'Method' <<htype>> SET 'Palier' <<Palier>> ENDMIX
+;
+UTL: MACRO :: DIR DUMP ;
+ECHO "test Reflector_Beavrs_DF-RT.x2m completed" ;
+END: ;