diff options
| author | HEBERT Alain <alain.hebert@polymtl.ca> | 2025-09-23 12:29:46 -0400 |
|---|---|---|
| committer | HEBERT Alain <alain.hebert@polymtl.ca> | 2025-09-23 12:29:46 -0400 |
| commit | 3b9fff7b3aecf9d6def9972738aad1d8993da067 (patch) | |
| tree | dac985c0778f4f35acf530c056036e72339ea3bb /Donjon/data/Reflector_beavrs_DF-NEM_proc | |
| parent | aa8b25a3e754951be0fbd8fb3c0922bb3464675f (diff) | |
| parent | 68c03c65cfcfd66a3b7c324cfa8770133538f5b0 (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/Reflector_beavrs_DF-NEM_proc')
4 files changed, 58 insertions, 27 deletions
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 ; |
