******************************************************************** * * * Procedure : vverBU.c2m * * Purpose : BU iteration calculus * * Author : L.Fede * * * * CALL : * * COMPO := vverBU LIBRARY TRACK StepList TF_EXC :: <> * * * ******************************************************************** * --- * INPUT & OUTPUT PARAMETERS * --- PARAMETER COMPO LIBRARY TRACK TF_EXC StepList :: ::: LINKED_LIST COMPO ; ::: LINKED_LIST LIBRARY ; ::: LINKED_LIST TRACK ; ::: SEQ_BINARY TF_EXC ; ::: LINKED_LIST StepList ; ; INTEGER Multicompo ; :: >>Multicompo<< ; * --- * STRUCTURES AND MODULES * --- MODULE MAC: DELETE: UTL: USS: ASM: FLU: EVO: GREP: EXCELT: PSP: COMPO: EDI: END: ; LINKED_LIST SYS FLUX BURNUP FIG EDIBU LIBRARY2 ; ************************************************************************ * REFERENCE LOCAL PARAMETERS * ************************************************************************ SEQ_ASCII TDT_VVER :: FILE './testVVER_1level_g2s.txt' ; SEQ_ASCII FIG_VVER :: FILE './FIG_VVER_1level.ps' ; STRING Library := "DLIB_J3p1p1" ; REAL Kinf ; ECHO "vverBU: Multicompo=" Multicompo ; ************************************************************************ * BEGIN DECLARATION * ************************************************************************ INTEGER nstep nauto maxcompo ; GREP: StepList :: LENGTH ListBU >>nstep<< ; GREP: StepList :: LENGTH ListAutop >>nauto<< ; GREP: StepList :: LENGTH ListCompo >>maxcompo<< ; ************************************************************************ * END DECLARATION * ************************************************************************ ************************************************************************ * BEGIN COMPO INITIALIZATION * ************************************************************************ COMPO := COMPO: :: EDIT 10 STEP UP 'EDIBU' MAXCAL 5 COMM 'Evolution burnup pincell' ENDC PARA 'Burnup' IRRA ISOT 14 U235 U236 U238 Pu239 Pu240 Pu241 Pu242 Gd154 Gd155 Gd156 Gd157 Gd158 Xe135 Sm149 INIT ; ************************************************************************ * END COMPO INITIALIZATION * ************************************************************************ ************************************************************************ * NOMINAL REFERENCE CALCULATION * ************************************************************************ INTEGER istepNext ; REAL BUbeg Tbeg ; REAL BU BUautop BUcompo := 0.0 0.0 0.0 ; REAL Norm_f2 := 41.9107 ; ! POWER NORM 41.9107 kW/kg REAL BUend Tend := 0. 0. ; INTEGER istep := 0 ; INTEGER iauto := 1 ; INTEGER iCompo := 1 ; WHILE istep nstep < DO EVALUATE istep := istep 1 + ; ECHO "burnup step: " istep "/" nstep ; EVALUATE BUbeg Tbeg := BUend Tend ; GREP: StepList :: GETVAL 'ListBU' <> >>BUend<< ; EVALUATE Tend := BUend Norm_f2 / ; ECHO "Nominal depletion between" Tbeg " and" Tend "days" ; *---- * USS *---- IF istep 1 = THEN ECHO ".perform self-shielding at" Tbeg "days" ; LIBRARY2 := USS: LIBRARY TRACK TF_EXC :: EDIT 1 PASS 3 GRMIN 52 ; ELSE GREP: StepList :: GETVAL "ListAutop" <> >>BUautop<< ; GREP: StepList :: GETVAL "ListBU" <> >>BU<< ; IF BUautop BU = THEN ECHO "perform self-shielding at" Tbeg "days" ; LIBRARY2 := USS: LIBRARY LIBRARY2 TRACK TF_EXC :: EDIT 0 PASS 3 GRMIN 52 ; EVALUATE iauto := iauto 1 + ; ENDIF ; ENDIF ; ************************************************************************ * BEGIN MOC FLUX CALCULATION * ************************************************************************ SYS := ASM: LIBRARY2 TRACK TF_EXC :: EDIT 1 ; IF istep 1 = THEN FLUX := FLU: LIBRARY2 SYS TRACK TF_EXC :: EDIT 1 TYPE K B1 SIGS ; ELSE FLUX := FLU: FLUX LIBRARY2 SYS TRACK TF_EXC :: EDIT 1 TYPE K B1 SIGS ; ENDIF ; SYS := DELETE: SYS ; IF istep 1 = THEN BURNUP LIBRARY2 := EVO: LIBRARY2 FLUX TRACK :: EDIT 0 SAVE <> DAY POWR <> ; ELSE BURNUP LIBRARY2 := EVO: BURNUP LIBRARY2 FLUX TRACK :: EDIT 0 SAVE <> DAY POWR <> ; ENDIF ; GREP: StepList :: GETVAL "ListCompo" <> >>BUcompo<< ; GREP: StepList :: GETVAL "ListBU" <> >>BU<< ; IF BUcompo BU = THEN EDIBU := EDI: FLUX LIBRARY2 TRACK :: EDIT 5 MICR 15 U235 U238 U236 Pu238 Pu239 Pu240 Pu241 Pu242 Gd154 Gd155 Gd156 Gd157 Gd158 Xe135 Sm149 MERG MIX 1 0 0 0 1 1 1 COND SAVE ON FUEL ; ************************************************************************ * MULTICOMPO FEEDING * ************************************************************************ COMPO := COMPO: COMPO EDIBU BURNUP LIBRARY :: EDIT 2 STEP UP 'EDIBU' SET <> DAY ; EDIBU := DELETE: EDIBU ; EVALUATE iCompo := iCompo 1 + ; ENDIF ; GREP: FLUX :: GETVAL 'K-INFINITY ' 1 1 1 >>Kinf<< ; ECHO "+++ Burnup=" BUend " Kinf=" Kinf " at step" istep ; IF istep nstep < THEN EVALUATE istepNext := istep 1 + ; GREP: StepList :: GETVAL 'ListBU' <> >>BUend<< ; EVALUATE Tend := BUend Norm_f2 / ; BURNUP LIBRARY2 := EVO: BURNUP LIBRARY2 FLUX TRACK :: EDIT 3 DEPL <> <> DAY POWR <> EXPM 1.0E15 GLOB ; ENDIF ; ************************************************************************ * END FLUX CALCULATION * ************************************************************************ ENDWHILE ; ************************************************************************ * END OF REFERENCE BURNUP LOOP WITH DEPLETION * END: ; QUIT .