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.x2m | 395 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 395 insertions(+) create mode 100644 Dragon/data/pincell_mco.x2m (limited to 'Dragon/data/pincell_mco.x2m') diff --git a/Dragon/data/pincell_mco.x2m b/Dragon/data/pincell_mco.x2m new file mode 100644 index 0000000..d4407a4 --- /dev/null +++ b/Dragon/data/pincell_mco.x2m @@ -0,0 +1,395 @@ +*---- +* Nom : pincell_mco.x2m +* Auteur : A. Hebert +* Pincell branch calculation and production of a Multicompo +*---- +* Define STRUCTURES and MODULES used +*---- +************************************************************************ +* BEGIN DECLARATION * +************************************************************************ +INTEGER istep iautop iDcaStep ; +LINKED_LIST + GEOM TRACKN FLUX LIBRARY LIBRARY2 DONNEES MICLIB BURN164 EDIOBJ COMPO ; +SEQ_ASCII ACOMPO :: FILE './ACOMPO' ; +MODULE + GEO: SYBILT: EXCELT: DELETE: GREP: BIVACT: EVO: UTL: COMPO: EDI: + LIB: ABORT: END: ; +PROCEDURE Mix_UOX CalcFlux BranchFlux ; +PROCEDURE assertS ; +*---- +* Choix des options de calcul +*---- +STRING Library := "DLIB_J2" ; +*---- +* Calculation data +*---- +REAL Kinf1 Kinf2 Keff2 B2 ; +REAL Tbeg Tend BUbeg BUend BUnextSS burnup keff11 ; +REAL Fuelpwr := 38.425 ; ! W/g ou kW/kg ou MW/t +REAL dens_mod dens_mod_0 ; + +************************************************************************ +* BEGIN VALUES EVALUATION * +************************************************************************ +REAL pbore_0 := 500. ; ! natural boron concentration in ppm +REAL temp_comb_0 temp_mode_0 := 800.0 600.0 ; + +REAL Rcomb4 := 0.41 ; +REAL Rcomb1 := 0.5 SQRT Rcomb4 * ; +REAL Rcomb2 := 0.8 SQRT Rcomb4 * ; +REAL Rcomb3 := 0.95 SQRT Rcomb4 * ; + +REAL R_int_G := 0.418 ; +REAL R_ext_G := 0.48 ; + +REAL Cote := 1.26 ; + +REAL RmodeN1 := 0.60 ; + +REAL N_U5_UOX := 3.70E-02 ; + +REAL densU_UOX := 10.0 ; + +************************************************************************ +* END VALUES EVALUATION * +************************************************************************ + +INTEGER maxstep := 21 ; +INTEGER iDcaMax := 3 ; +INTEGER iAutopMax := 2 ; +DONNEES := UTL: :: + CREA + burn <> = + 0.0 9.375 18.75 37.5 75.0 150.0 + 237.5 325.0 412.5 500.0 625.0 750.0 + 1000.0 1250.0 1500.0 1750.0 2000.0 2500.0 + 3000.0 3500.0 4000.0 + CREA + dca <> = + 0.300 0.500 0.800 + CREA + autop <> = + 0.0 4000.0 + ; + +************************************************************************ +* END DECLARATION * +************************************************************************ +************************************************************************ +* BEGIN GEOMETRY * +************************************************************************ +GEOM := GEO: :: CARCEL 7 + MESHX 0.0 <> + MESHY 0.0 <> + X- REFL X+ REFL Y- REFL Y+ REFL + RADIUS 0.0 <> <> <> <> + <> <> <> + MIX 4 5 6 7 2 1 3 3 + ; +************************************************************************ +* END GEOMETRY * +************************************************************************ +************************************************************************ +* BEGIN TRACKING * +************************************************************************ +TRACKN := SYBILT: GEOM :: + EDIT 99 + MAXR 500 + MAXZ 1000000 + TITLE 'TRACKING FOR PINCELL' + QUA2 20 3 + DP01 ; + +************************************************************************ +* END TRACKING * +************************************************************************ +************************************************************************ +* BEGIN COMPO INITIALIZATION * +************************************************************************ + COMPO := COMPO: :: + EDIT 10 + STEP UP 'EDI2B' + MAXCAL 5 + COMM 'evolution burnup pincell' ENDC + PARA 'burnup' IRRA + PARA 'DCA' VALU REAL + PARA 'DCAH' VALU REAL ! historical parameter for coolant density + ISOT 15 Pm147 Pm148 Pm148m Pm149 Sm147 Sm148 Sm149 Sm150 Nd146 Nd147 + Nd148 B10m B11m Xe135 I135 + INIT + ; +************************************************************************ +* END COMPO INITIALIZATION * +************************************************************************ + +************************************************************************ +* SUPER LOOP OVER DEPLETING SCENARIOS * +************************************************************************ +ECHO "$$$$ Super loop over depleting scenarios" ; +INTEGER iDcaStep_0 := 0 ; +WHILE iDcaStep_0 iDcaMax < DO + EVALUATE iDcaStep_0 := iDcaStep_0 1 + ; + GREP: DONNEES :: GETVAL 'dca' <> >>dens_mod_0<< ; + ECHO "iDcaStep_0=" iDcaStep_0 "/" iDcaMax "dens_mod_0=" dens_mod_0 ; + +************************************************************************ +* REFERENCE BURNUP LOOP WITH DEPLETION * +************************************************************************ +************************************************************************ +* BEGIN LIBRARY READING * +************************************************************************ +LIBRARY := Mix_UOX :: + <> <> <> <> <> + <> <> ; + +************************************************************************ +* INITIAL FLUX CALCULATION * +************************************************************************ +EVALUATE istep iautop := 1 1 ; +EVALUATE Tend BUend := 0.0 0.0 ; +GREP: DONNEES :: GETVAL 'autop' <> >>BUnextSS<< ; +ECHO "BUnextSS=" BUnextSS ; +ECHO "call CalcFlux(1)" ; + +LIBRARY2 FLUX := CalcFlux LIBRARY TRACKN :: <> + <> <> <> ; + +GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>keff11<< ; +ECHO "+++ Burnup= 0.0 Keff=" keff11 ; + +BURN164 LIBRARY2 := EVO: LIBRARY2 FLUX TRACKN :: + EDIT 2 + SAVE <> DAY POWR <> ; + +EVALUATE iautop := iautop 1 + ; +GREP: DONNEES :: GETVAL 'autop' <> >>BUnextSS<< ; + +************************************************************************ +* 2-GROUPS ENERGY CONDENSATION AND HOMOGENISATION * +************************************************************************ +EDIOBJ := EDI: FLUX LIBRARY2 TRACKN :: + EDIT 0 + MICR 35 U234 U235 U236 U237 U238 Np237 Np238 Np239 Pu238 Pu239 + Pu240 Pu241 Pu242 Cm242 Cm243 Cm244 Cm245 Am241 Am242m Am243 + Pm147 Pm148 Pm148m Pm149 Sm147 Sm148 Sm149 Sm150 Nd146 Nd147 + Nd148 B10m B11m Xe135 I135 + MERG COMP + COND 4.0 + SAVE ON EDI2B ; + +************************************************************************ +* INITIAL MULTICOMPO FEEDING * +************************************************************************ + COMPO := COMPO: COMPO EDIOBJ BURN164 LIBRARY :: + EDIT 2 + STEP UP 'EDI2B' + 'DCA' <> + 'DCAH' <> + SET <> DAY ; + +EDIOBJ := DELETE: EDIOBJ ; + +************************************************************************ +* DEPLETION - HOMOGENISATION * +************************************************************************ +WHILE istep maxstep < DO + EVALUATE istep := istep 1 + ; + ECHO "istep=" istep "/" maxstep ; + + EVALUATE BUbeg Tbeg := BUend Tend ; + GREP: DONNEES :: GETVAL 'burn' <> >>BUend<< ; + EVALUATE Tend := BUend Fuelpwr / ; + + BURN164 LIBRARY2 := EVO: BURN164 LIBRARY2 FLUX TRACKN :: + EDIT 2 NOEX DEPL <> <> DAY POWR <> + PICK >>burnup<< ; + + ECHO "BURNUP_sortie = " BUend "Next SS = " BUnextSS ; + +************************************************************************ +* FLUX CALCULATION * +************************************************************************ + ECHO "call CalcFlux(2)" ; + LIBRARY2 FLUX := CalcFlux LIBRARY2 FLUX LIBRARY TRACKN + :: <> <> <> <> ; + + GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>keff11<< ; + ECHO "+++ Burnup=" burnup " Keff=" keff11 ; + + BURN164 LIBRARY2 := EVO: BURN164 LIBRARY2 FLUX TRACKN :: + EDIT 0 + SAVE <> DAY POWR <> + ; + + IF BUend BUnextSS - ABS 1E-5 < THEN + EVALUATE iautop := iautop 1 + ; + IF iautop iAutopMax <= THEN + GREP: DONNEES :: GETVAL 'autop' <> >>BUnextSS<< ; + ENDIF ; + ENDIF ; + +************************************************************************ +* 2-GROUPS ENERGY CONDENSATION AND HOMOGENISATION * +************************************************************************ + EDIOBJ := EDI: FLUX LIBRARY2 TRACKN :: + EDIT 0 + MICR 35 U234 U235 U236 U237 U238 Np237 Np238 Np239 Pu238 Pu239 + Pu240 Pu241 Pu242 Cm242 Cm243 Cm244 Cm245 Am241 Am242m Am243 + Pm147 Pm148 Pm148m Pm149 Sm147 Sm148 Sm149 Sm150 Nd146 Nd147 + Nd148 B10m B11m Xe135 I135 + MERG COMP + COND 4.0 + SAVE ON EDI2B ; + +************************************************************************ +* MULTICOMPO FEEDING * +************************************************************************ + COMPO := COMPO: COMPO EDIOBJ BURN164 LIBRARY :: + EDIT 2 + STEP UP 'EDI2B' + 'DCA' <> + 'DCAH' <> + SET <> DAY ; + + EDIOBJ := DELETE: EDIOBJ ; + +ENDWHILE ; ! reference burnup loop + +IF iDcaStep_0 1 = THEN + assertS FLUX :: K-INFINITY 1 1.049062 ; +ELSEIF iDcaStep_0 2 = THEN + assertS FLUX :: K-INFINITY 1 1.153705 ; +ELSEIF iDcaStep_0 3 = THEN + assertS FLUX :: K-INFINITY 1 1.224496 ; +ENDIF ; + +LIBRARY LIBRARY2 := DELETE: LIBRARY LIBRARY2 ; +FLUX := DELETE: FLUX ; +************************************************************************ +* END OF REFERENCE BURNUP LOOP WITH DEPLETION * +************************************************************************ +************************************************************************ + +************************************************************************ +* COOLANT DENSITY LOOP * +************************************************************************ +ECHO "$$$ Moderator density loop" ; +EVALUATE iDcaStep := 0 ; +WHILE iDcaStep iDcaMax < DO + EVALUATE iDcaStep := iDcaStep 1 + ; + GREP: DONNEES :: GETVAL 'dca' <> >>dens_mod<< ; + ECHO "iDcaStep=" iDcaStep "/" iDcaMax "dens_mod=" dens_mod ; +************************************************************************ +* BEGIN LIBRARY READING * +************************************************************************ +LIBRARY := Mix_UOX :: + <> <> <> <> <> + <> <> ; + +************************************************************************ +* INITIAL FLUX CALCULATION * +************************************************************************ +EVALUATE istep iautop := 0 1 ; +EVALUATE Tend BUend := 0.0 0.0 ; +GREP: DONNEES :: GETVAL 'autop' <> >>BUnextSS<< ; +ECHO "BUnextSS=" BUnextSS ; + +************************************************************************ +* DEPLETION - HOMOGENISATION * +************************************************************************ +WHILE istep maxstep < DO + EVALUATE istep := istep 1 + ; + + EVALUATE BUbeg Tbeg := BUend Tend ; + GREP: DONNEES :: GETVAL 'burn' <> >>BUend<< ; + ECHO "branch istep=" istep "/" maxstep "BUend=" BUend ; + EVALUATE Tend := BUend Fuelpwr / ; + +************************************************************************ +* RECOVER LIBRARY2 AT istep * +************************************************************************ + IF istep 1 > THEN + LIBRARY2 := LIB: LIBRARY2 BURN164 :: + EDIT 0 + BURN <> + MIX 4 MIX 5 MIX 6 MIX 7 ; + ENDIF ; + +************************************************************************ +* FLUX CALCULATION * +************************************************************************ + ECHO "call BranchFlux" ; + IF istep 1 = THEN + LIBRARY2 FLUX := BranchFlux LIBRARY TRACKN + :: <> <> <> <> ; + ELSE + LIBRARY2 FLUX := BranchFlux LIBRARY2 FLUX LIBRARY TRACKN + :: <> <> <> <> ; + ENDIF ; + GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>keff11<< ; + ECHO "+++ Burnup=" BUend "dens_mod=" dens_mod "dens_mod_0=" dens_mod_0 + " Keff=" keff11 ; + IF BUend BUnextSS - ABS 1E-5 < THEN + EVALUATE iautop := iautop 1 + ; + IF iautop iAutopMax <= THEN + GREP: DONNEES :: GETVAL 'autop' <> >>BUnextSS<< ; + ENDIF ; + ENDIF ; + +************************************************************************ +* 2-GROUPS ENERGY CONDENSATION AND HOMOGENISATION * +************************************************************************ + EDIOBJ := EDI: FLUX LIBRARY2 TRACKN :: + EDIT 0 + MICR 35 U234 U235 U236 U237 U238 Np237 Np238 Np239 Pu238 Pu239 + Pu240 Pu241 Pu242 Cm242 Cm243 Cm244 Cm245 Am241 Am242m Am243 + Pm147 Pm148 Pm148m Pm149 Sm147 Sm148 Sm149 Sm150 Nd146 Nd147 + Nd148 B10m B11m Xe135 I135 + MERG COMP + COND 4.0 + SAVE ON EDI2B ; + +************************************************************************ +* MULTICOMPO FEEDING * +************************************************************************ + IF dens_mod dens_mod_0 = THEN + ECHO "Duplicate branch calculation at dens_mod=" dens_mod ; + ELSE + COMPO := COMPO: COMPO EDIOBJ BURN164 LIBRARY :: + EDIT 2 + STEP UP 'EDI2B' + 'DCA' <> + 'DCAH' <> + SET <> DAY ; + ENDIF ; + EDIOBJ := DELETE: EDIOBJ ; + +ENDWHILE ; ! burnup loop + +LIBRARY LIBRARY2 := DELETE: LIBRARY LIBRARY2 ; +FLUX := DELETE: FLUX ; + +ENDWHILE ; ! coolant density loop +************************************************************************ +* END OF COOLANT DENSITY LOOP * +************************************************************************ +************************************************************************ +************************************************************************ +BURN164 := DELETE: BURN164 ; + +ENDWHILE ; +************************************************************************ +* END OF SUPER LOOP OVER DEPLETING SCENARIOS * +************************************************************************ +************************************************************************ +************************************************************************ + +************************************************************************ +* EXPORT MULTICOMPO IN ASCII FORMAT * +************************************************************************ +ACOMPO := COMPO ; + +ECHO "Successful end of calculation" ; +END: ; +QUIT . -- cgit v1.2.3