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/pincell_mco_proc/BranchFlux.c2m | 95 ++++++++++++ Dragon/data/pincell_mco_proc/CalcFlux.c2m | 93 +++++++++++ Dragon/data/pincell_mco_proc/Mix_UOX.c2m | 231 ++++++++++++++++++++++++++++ 3 files changed, 419 insertions(+) create mode 100644 Dragon/data/pincell_mco_proc/BranchFlux.c2m create mode 100644 Dragon/data/pincell_mco_proc/CalcFlux.c2m create mode 100644 Dragon/data/pincell_mco_proc/Mix_UOX.c2m (limited to 'Dragon/data/pincell_mco_proc') diff --git a/Dragon/data/pincell_mco_proc/BranchFlux.c2m b/Dragon/data/pincell_mco_proc/BranchFlux.c2m new file mode 100644 index 0000000..60f5ed6 --- /dev/null +++ b/Dragon/data/pincell_mco_proc/BranchFlux.c2m @@ -0,0 +1,95 @@ +*DECK BranchFlux +*---- +* Name : BranchFlux.c2m +* Type : DRAGON procedure +* Use : Branch flux calculation +* Author : A. Hebert +* +* Procedure called as: +* +* LIBRARY2 FLUX := BranchFlux LIBRARY2 FLUX LIBRARY TRACKN :: (data) ; +* +* Input data : +* LIBRARY : Microlib with subgroups +* LIBRARY2 : Self-shielded microlib +* TRACKN : Tracking +* FLUX : Multigroup flux +* Output data : +* LIBRARY2 : Self-shielded microlib +* FLUX : Multigroup flux +* Parameters : +* istep : Burnup step index corresponding to the calculation +* BUend : Burnup corresponding to the calculation +* BUnextSS : Burnup corresponding to the next self-shielding +* calculation +* Fuelpwr : Fuel power in MW/tonne + +PARAMETER LIBRARY2 FLUX LIBRARY TRACKN :: + EDIT 1 + ::: LINKED_LIST LIBRARY2 FLUX LIBRARY TRACKN ; + ; +* ; +*---- +* Modules used in this procedure +*---- +MODULE ASM: FLU: EDI: EVO: USS: GREP: ABORT: DELETE: END: ; +LINKED_LIST SYS ; +REAL B2 Kinf1 Kinf2 Keff2 Tend ; + +INTEGER istep ; +REAL BUend BUnextSS Fuelpwr ; + :: >>istep<< >>BUend<< >>BUnextSS<< >>Fuelpwr<< ; + + EVALUATE Tend := BUend Fuelpwr / ; + ECHO "-----------------------------------------------------------" ; + ECHO "Branch flux calculation at step=" istep ; + +*---- +* Resonance self-shielding +*---- + ECHO "BURNUP_sortie = " BUend "Next SS = " BUnextSS ; + IF BUend BUnextSS - ABS 1E-5 < THEN + ECHO "Perform a self-shielding calculation" ; + ECHO "-----------------------------------------------------------" ; + IF istep 1 = THEN + LIBRARY2 := USS: LIBRARY TRACKN :: + EDIT 0 + ARM + TRAN + PASS 2 + GRMIN 45 + ; + ELSE + LIBRARY2 := USS: LIBRARY2 LIBRARY TRACKN ; + ENDIF ; + ELSE + ECHO "No self-shielding calculation" ; + ECHO "-----------------------------------------------------------" ; + ENDIF ; + +************************************************************************ +* BEGIN FLUX CALCULATION * +************************************************************************ + SYS := ASM: LIBRARY2 TRACKN :: + EDIT 0 ARM ; + + IF istep 1 = THEN + FLUX := FLU: SYS LIBRARY2 TRACKN + :: EDIT 1 TYPE K B1 SIGS ; + ELSE + FLUX := FLU: FLUX SYS LIBRARY2 TRACKN + :: EDIT 1 TYPE K B1 SIGS ; + ENDIF ; + + GREP: FLUX :: GETVAL 'B2 B1HOM ' 1 1 1 >>B2<< ; + ECHO "B2-1 = " B2 " at BU = " BUend ; + + GREP: FLUX :: GETVAL 'K-INFINITY ' 1 1 1 >>Kinf1<< ; + ECHO "K-inf1_sortie is " Kinf1 " at BU = " BUend ; + +************************************************************************ +* END FLUX CALCULATION * +************************************************************************ + +END: ; +QUIT . diff --git a/Dragon/data/pincell_mco_proc/CalcFlux.c2m b/Dragon/data/pincell_mco_proc/CalcFlux.c2m new file mode 100644 index 0000000..a26e6ea --- /dev/null +++ b/Dragon/data/pincell_mco_proc/CalcFlux.c2m @@ -0,0 +1,93 @@ +*DECK CalcFlux +*---- +* Name : CalcFlux.c2m +* Type : DRAGON procedure +* Use : Flux calculation +* Author : A. Hebert +* +* Procedure called as: +* +* LIBRARY2 FLUX := CalcFlux LIBRARY2 FLUX LIBRARY TRACKN :: (data) ; +* +* Input data : +* LIBRARY : Microlib with subgroups +* LIBRARY2 : Self-shielded microlib +* TRACKN : Tracking +* FLUX : Multigroup flux +* Output data : +* LIBRARY2 : Self-shielded microlib +* FLUX : Multigroup flux +* Parameters : +* istep : Burnup step index corresponding to the calculation +* BUend : Burnup corresponding to the calculation +* BUnextSS : Burnup corresponding to the next self-shielding +* calculation +* Fuelpwr : Fuel power in MW/tonne + +PARAMETER LIBRARY2 FLUX LIBRARY TRACKN :: + EDIT 1 + ::: LINKED_LIST LIBRARY2 FLUX LIBRARY TRACKN ; + ; +* ; +*---- +* Modules used in this procedure +*---- +MODULE ASM: FLU: EDI: EVO: USS: GREP: ABORT: DELETE: UTL: END: ; +LINKED_LIST EDITION SYS ; +REAL B2 Kinf1 Kinf2 Keff2 Tend ; + +INTEGER istep ; +REAL BUend BUnextSS Fuelpwr ; + :: >>istep<< >>BUend<< >>BUnextSS<< >>Fuelpwr<< ; + + EVALUATE Tend := BUend Fuelpwr / ; + ECHO "-----------------------------------------------------------" ; + ECHO "Flux calculation at step=" istep ; + ECHO "BURNUP_sortie = " BUend "Next SS = " BUnextSS ; + IF BUend BUnextSS - ABS 1E-5 < THEN + ECHO "Perform a self-shielding calculation" ; + ECHO "-----------------------------------------------------------" ; + IF istep 1 = THEN + ECHO "first call" ; + LIBRARY2 := USS: LIBRARY TRACKN :: + EDIT 0 + ARM + TRAN + PASS 2 + GRMIN 45 + ; + ECHO "out" ; + ELSE + LIBRARY2 := USS: LIBRARY2 LIBRARY TRACKN ; + ENDIF ; + ELSE + ECHO "No self-shielding calculation" ; + ECHO "-----------------------------------------------------------" ; + ENDIF ; +************************************************************************ +* BEGIN FLUX CALCULATION * +************************************************************************ + SYS := ASM: LIBRARY2 TRACKN :: + EDIT 0 ARM ; + + IF istep 1 = THEN + FLUX := FLU: SYS LIBRARY2 TRACKN + :: EDIT 1 TYPE K B1 SIGS ; + ELSE + FLUX := FLU: FLUX SYS LIBRARY2 TRACKN + :: EDIT 1 TYPE K B1 SIGS ; + ENDIF ; + + GREP: FLUX :: GETVAL 'B2 B1HOM ' 1 1 1 >>B2<< ; + ECHO "B2-1 = " B2 " at BU = " BUend ; + + GREP: FLUX :: GETVAL 'K-INFINITY ' 1 1 1 >>Kinf1<< ; + ECHO "K-inf1_sortie is " Kinf1 " at BU = " BUend ; + + SYS := DELETE: SYS ; +************************************************************************ +* END FLUX CALCULATION * +************************************************************************ + +END: ; +QUIT . diff --git a/Dragon/data/pincell_mco_proc/Mix_UOX.c2m b/Dragon/data/pincell_mco_proc/Mix_UOX.c2m new file mode 100644 index 0000000..edd3425 --- /dev/null +++ b/Dragon/data/pincell_mco_proc/Mix_UOX.c2m @@ -0,0 +1,231 @@ +*DECK Mix_UOX +*---- +* Name : Mix_UOX.c2m +* Type : DRAGON procedure +* Use : Microlib generation with Draglibs for +* UOX calculation with 4 fuel regions +* Author : A. Hebert +* +* Procedure called as: +* +* LIBRARY := Mix_UOX :: +* <> <> <> <> +* <> <> ; +* +* Input data : +* dens_mod : Theoretical moderator density +* pbore : Natural boron concentration (ppm) +* N_U5_UOX : U235 enrichment in UOX-Fuel +* densU_UOX : Theoretical density of Uranium in UOX-Fuel +* temp_comb : Theoretical Fuel temperature (K) +* temp_mode : Theoretical moderator temperature (K) +* +* Output data : +* LIBRARY : Microlib with table of probabilities + + +PARAMETER LIBRARY :: + EDIT 0 + ::: LINKED_LIST LIBRARY ; + ; + +*---- +* Input data recovery +*---- +STRING Library ; +:: >>Library<< ; + +REAL dens_mod pbore N_U5_UOX densU_UOX ; +:: >>dens_mod<< >>pbore<< >>N_U5_UOX<< >>densU_UOX<< ; +REAL temp_comb temp_mode ; +:: >>temp_comb<< >>temp_mode<< ; + +*---- +* Modules used in this procedure +*---- +MODULE LIB: UTL: DELETE: END: ; + +REAL TfuelK := temp_comb ; +REAL TmodeK := temp_mode ; + +REAL TgainK := TmodeK ; + +* Calculation of moderator data +* NOMBRE D AVOGADRO +REAL A := 6.022094E-1 ; ! Normalisation des concentrations par 10E-24 + +REAL M_H2O := 15.9994 2.0 1.00794 * + ; +REAL N_H2O := dens_mod 0.6022 * M_H2O / ; +REAL b10 b11 := 0.199 0.801 ; ! Bore naturel +REAL coeff := 0.199 A 1.0E-06 * * 10.8110164 / ; +REAL N_B10 := coeff dens_mod pbore * * ; +REAL N_2H2O N_B11 := 2.0 N_H2O * N_B10 b11 * b10 / ; + +* Calculation of fuel data +REAL den_uo2 := densU_UOX ; +REAL M_U4 M_U5 M_U8 M_U6 := + 234.040952088 235.043929918 238.050788247 236.045568006 ; +REAL M_Pu8 M_Pu9 M_Pu0 M_Pu1 := + 238.049559894 239.052163381 240.053813545 241.056851456 ; +REAL M_Pu2 M_Am1 M_O16 := + 242.058742611 241.056829144 15.99491461956 ; + +REAL N_U5 := N_U5_UOX ; +REAL N_U4 := N_U5 54.0E-04 * 0.72 / ; +REAL N_U6 N_Pu8 N_Pu9 N_Pu0 N_Pu1 N_Pu2 N_Am1 := + 1.0E-14 1.0E-14 1.0E-14 1.0E-14 1.0E-14 1.0E-14 1.0E-14 ; +REAL N_U8 := 1.0 N_U5 - N_U4 - N_Pu8 7.0 * - ; +REAL N_O16F := N_U4 M_U4 / N_U5 M_U5 / + N_U8 M_U8 / + N_Pu8 M_Pu8 / + ; +EVALUATE N_O16F := N_O16F N_U6 M_U6 / + ; +EVALUATE N_O16F := N_O16F N_Pu9 M_Pu9 / + N_Pu0 M_Pu0 / + ; +EVALUATE N_O16F := N_O16F N_Pu1 M_Pu1 / + N_Pu2 M_Pu2 / + ; +EVALUATE N_O16F := N_O16F N_Am1 M_Am1 / + 2.0 * M_O16 * ; + +REAL N_TOTF := N_U4 N_U5 + N_U6 + N_U8 + N_Pu8 + N_Pu9 + N_Pu0 + ; +EVALUATE N_TOTF := N_TOTF N_Pu1 + N_Pu2 + N_Am1 + N_O16F + ; +EVALUATE N_U4 := N_U4 N_TOTF / ; +EVALUATE N_U5 := N_U5 N_TOTF / ; +EVALUATE N_U6 := N_U6 N_TOTF / ; +EVALUATE N_U8 := N_U8 N_TOTF / ; +EVALUATE N_Pu8 := N_Pu8 N_TOTF / ; +EVALUATE N_Pu9 := N_Pu9 N_TOTF / ; +EVALUATE N_Pu0 := N_Pu0 N_TOTF / ; +EVALUATE N_Pu1 := N_Pu1 N_TOTF / ; +EVALUATE N_Pu2 := N_Pu2 N_TOTF / ; +EVALUATE N_Am1 := N_Am1 N_TOTF / ; +EVALUATE N_O16F := N_O16F N_TOTF / ; + +* -------------------------------- +* Cladding calculation +* -------------------------------- +REAL P_Zr P_Fe P_Cr P_O16 P_Sn := + 98.115E-02 0.210E-02 0.100E-02 0.125E-02 1.450E-02 ; + +REAL P_Zr90 P_Zr91 P_Zr92 P_Zr94 P_Zr96 := + 51.45E-02 11.22E-02 17.15E-02 17.38E-02 2.80E-02 ; +REAL P_Fe54 P_Fe56 P_Fe57 P_Fe58 := + 5.602E-02 91.865E-02 2.243E-02 0.290E-02 ; +*isot 5.8 % 91.72% 2.20% 0.28% +REAL P_Cr50 P_Cr52 P_Cr53 P_Cr54 := + 4.178E-02 83.701E-02 9.673E-02 2.448E-02 ; +*isot 4.35% 83.79% 9.50% 2.36% +REAL P_Sn115 P_Sn116 P_Sn117 + P_Sn118 P_Sn119 P_Sn120 P_Sn122 P_Sn124 := + 0.33E-02 14.21E-02 7.56E-02 + 24.06E-02 8.59E-02 32.92E-02 4.75E-02 6.04E-02 ; + +REAL M_Zr := P_Zr90 89.904711 * P_Zr91 90.905643 * P_Zr92 91.905039 * + P_Zr94 93.906320 * P_Zr96 95.90829 * + + + + ; +REAL M_Fe := P_Fe54 53.9396148 * P_Fe56 55.9349421 * + P_Fe57 56.9353987 * P_Fe58 57.9332805 * + + + ; +REAL M_Cr := P_Cr50 49.9460496 * P_Cr52 51.9405119 * + P_Cr53 52.9406538 * P_Cr54 53.9388849 * + + + ; +REAL M_Sn := P_Sn115 114.90335 * + P_Sn116 115.901748 * P_Sn117 116.902961 * + P_Sn118 117.901613 * P_Sn119 118.903316 * + P_Sn120 119.902207 * P_Sn122 121.903451 * + P_Sn124 123.905283 * + + + + + + + ; + +REAL rho_clad := 6.55 ; +REAL N_Zr_clad := P_Zr rho_clad A * M_Zr / * ; +REAL N_Zr90 N_Zr91 N_Zr92 N_Zr94 N_Zr96 := + N_Zr_clad P_Zr90 * N_Zr_clad P_Zr91 * N_Zr_clad P_Zr92 * + N_Zr_clad P_Zr94 * N_Zr_clad P_Zr96 * ; + +REAL N_Fe_clad := P_Fe rho_clad A * M_Fe / * ; +REAL N_Fe54 N_Fe56 N_Fe57 N_Fe58 := + N_Fe_clad P_Fe54 * N_Fe_clad P_Fe56 * N_Fe_clad P_Fe57 * + N_Fe_clad P_Fe58 * ; + +REAL N_Cr_clad := P_Cr rho_clad A * M_Cr / * ; +REAL N_Cr50 N_Cr52 N_Cr53 N_Cr54 := + N_Cr_clad P_Cr50 * N_Cr_clad P_Cr52 * N_Cr_clad P_Cr53 * + N_Cr_clad P_Cr54 * ; + +REAL N_O16G := P_O16 rho_clad A * 15.9949150 / * ; + +REAL N_Sn_clad := P_Sn rho_clad A * M_Sn / * ; +REAL N_Sn115 N_Sn116 + N_Sn117 N_Sn118 N_Sn119 N_Sn120 + N_Sn122 N_Sn124 := + N_Sn_clad P_Sn115 * + N_Sn_clad P_Sn116 * N_Sn_clad P_Sn117 * N_Sn_clad P_Sn118 * + N_Sn_clad P_Sn119 * N_Sn_clad P_Sn120 * N_Sn_clad P_Sn122 * + N_Sn_clad P_Sn124 * ; + +* ; +LIBRARY := LIB: :: + EDIT 1 + DEPL LIB: DRAGON FIL: <> + + NMIX 7 CTRA APOL + SUBG + MIXS LIB: DRAGON FIL: <> + +*---- +* Cladding fuel +*---- + MIX 1 <> NOEV + Zr90f = Zr90 <> + Zr91f = Zr91 <> + Zr92f = Zr92 <> + Zr94f = Zr94 <> + Zr96f = Zr96 <> + Fe54f = Fe54 <> + Fe56f = Fe56 <> + Fe57f = Fe57 <> + Fe58f = Fe58 <> + Cr50f = Cr50 <> + Cr52f = Cr52 <> + Cr53f = Cr53 <> + Cr54f = Cr54 <> + O16Gf = O16 <> + Sn115f = Sn115 <> + Sn116f = Sn116 <> + Sn117f = Sn117 <> + Sn118f = Sn118 <> + Sn119f = Sn119 <> + Sn120f = Sn120 <> + Sn122f = Sn122 <> + Sn124f = Sn124 <> + +*---- +* Gap +*---- + MIX 2 <> NOEV + Al27 = Al27 1.00E-08 + +*---- +* Moderator +*---- + MIX 3 <> NOEV + H1_H2O = H1_H2O <> + O16_H2O = O16 <> + B10m = B10 <> + B11m = B11 <> + +*---- +* Fuel +*---- + MIX 4 <> <> + U234 = U234 <> + U235 = U235 <> 1 + U236 = U236 <> 1 + U238 = U238 <> 1 + Pu238 = Pu238 <> + Pu239 = Pu239 <> 1 + Pu240 = Pu240 <> 1 + Pu241 = Pu241 <> 1 + Pu242 = Pu242 <> 1 + Am241 = Am241 <> + O16F = O16 <> + MIX 5 + COMB 4 1.0 + MIX 6 + COMB 4 1.0 + MIX 7 + COMB 4 1.0 +; + +END: ; +QUIT . -- cgit v1.2.3