* DRAGON FLUX AND COMPO PROCEDURE DECK for unperturbated cases *********************************************************************** * Purpose: * compute burnup depletion for 2-D cell of CANDU reactor. * * author: * MAJID FASSI FEHRI 09/09/09 * CNSC * * Modified: * Richard CHAMBON 11/02/24 * Ecole Polytechnique * *********************************************************************** PARAMETER EDITN COMPO COMPOR LIBR BURNUP TRKS TRKF TLINES TLINEF :: ::: LINKED_LIST TRKS TRKF EDITN COMPO COMPOR LIBR BURNUP ; ::: SEQ_BINARY TLINES TLINEF ; ; PROCEDURE POWER ; LINKED_LIST SYST CFLUX ; MODULE SHI: ASM: FLU: EDI: EVO: CPO: END: DELETE: BACKUP: ; INTEGER LEVEL CALCU Nburn ; REAL POW PowRef ISTP FSTP MaxBurn FacTLog ; STRING CNAM BNAM RNAM ; :: >>CALCU<< >>Nburn<< >>MaxBurn<< ; * Set name in the COMPO files IF CALCU 1 = THEN EVALUATE CNAM := "REF" ; EVALUATE RNAM := "MODREF" ; ELSEIF CALCU 2 = THEN EVALUATE CNAM := "FTEMP-UP" ; EVALUATE RNAM := " " ; ELSEIF CALCU 3 = THEN EVALUATE CNAM := "FTEMP-D" ; EVALUATE RNAM := " " ; ELSEIF CALCU 4 = THEN EVALUATE CNAM := "CTEMP-UP" ; EVALUATE RNAM := " " ; ELSEIF CALCU 5 = THEN EVALUATE CNAM := "CTEMP-D" ; EVALUATE RNAM := " " ; ELSEIF CALCU 6 = THEN EVALUATE CNAM := "MTEMP-UP" ; EVALUATE RNAM := "MODTP-UP" ; ELSEIF CALCU 7 = THEN EVALUATE CNAM := "MTEMP-D" ; EVALUATE RNAM := "MODTP-D" ; ELSEIF CALCU 8 = THEN EVALUATE CNAM := "CDEN-UP" ; EVALUATE RNAM := " " ; ELSEIF CALCU 9 = THEN EVALUATE CNAM := "CDEN-D" ; EVALUATE RNAM := " " ; ELSEIF CALCU 10 = THEN EVALUATE CNAM := "MDEN-UP" ; EVALUATE RNAM := "MODDEN-U" ; ELSEIF CALCU 11 = THEN EVALUATE CNAM := "MDEN-D" ; EVALUATE RNAM := "MODDEN-D" ; ELSEIF CALCU 12 = THEN EVALUATE CNAM := "BORON" ; EVALUATE RNAM := "MODBOR" ; ELSEIF CALCU 13 = THEN EVALUATE CNAM := "PURITY" ; EVALUATE RNAM := "MODPUR" ; ELSEIF CALCU 14 = THEN EVALUATE CNAM := "XENON" ; EVALUATE RNAM := " " ; ELSEIF CALCU 15 = THEN EVALUATE CNAM := "SM149" ; EVALUATE RNAM := " " ; ELSEIF CALCU 16 = THEN EVALUATE CNAM := "NP239" ; EVALUATE RNAM := " " ; ELSEIF CALCU 17 = THEN EVALUATE CNAM := "MIXFD" ; EVALUATE RNAM := " " ; ELSEIF CALCU 18 = THEN EVALUATE CNAM := "MIXMD" ; EVALUATE RNAM := " " ; ELSEIF CALCU 19 = THEN EVALUATE CNAM := "POWER-UP" ; EVALUATE RNAM := " " ; ELSEIF CALCU 20 = THEN EVALUATE CNAM := "POWER-IN" ; EVALUATE RNAM := " " ; ELSEIF CALCU 21 = THEN EVALUATE CNAM := "POWER-D" ; EVALUATE RNAM := " " ; ENDIF ; ECHO "FLUX CALCULATION STARTED" ; EVALUATE LEVEL := 1 ; * get depletion power POWER :: <> >>POW<< >>PowRef<< ; *---- * Variables for Burnup (burnup times) : * 1) t(1)=0 day * 2) t(2)=1 day @ POW=PowRef, * 3) t(i)=FacTLog**(i-2) days * with FacTLog=exp(ln(MaxBurn/Puissance)/(Nburn-2)) * 4) t(Nburn)=MaxBurn/Puissance days *---- EVALUATE ISTP FSTP := 0.0 PowRef POW / ; EVALUATE FacTLog := MaxBurn PowRef / LN Nburn 2 - I_TO_R / EXP ; * BURNUP STEPS WHILE LEVEL Nburn 1 + < DO IF LEVEL 10 < THEN EVALUATE BNAM := "REF-CASE000" LEVEL I_TO_S + ; ELSEIF LEVEL 100 < THEN EVALUATE BNAM := "REF-CASE00" LEVEL I_TO_S + ; ELSE EVALUATE BNAM := "REF-CASE0" LEVEL I_TO_S + ; ENDIF ; IF LEVEL 1 > THEN IF LEVEL 2 > THEN BURNUP LIBR := EVO: BURNUP LIBR CFLUX TRKF :: NOEX DIRA DEPL <> <> DAY POWR <> ; ELSE BURNUP LIBR := EVO: LIBR CFLUX TRKF :: NOEX DIRA DEPL <> <> DAY POWR <> ; ENDIF ; LIBR := SHI: LIBR TRKS TLINES ; SYST := ASM: LIBR TRKF TLINEF ; CFLUX := FLU: CFLUX SYST LIBR TRKF :: TYPE B B1 PNL ; ECHO "CELL HOMOGENEIZATION" ; EDITN := EDI: EDITN CFLUX LIBR TRKF :: COND 0.625 MERGE COMP MICR ALL SAVE ON <> ; ELSE LIBR := SHI: LIBR TRKS TLINES ; SYST := ASM: LIBR TRKF TLINEF ; CFLUX := FLU: SYST LIBR TRKF :: TYPE B B1 PNL ; ECHO "CELL HOMOGENEIZATION" ; EDITN := EDI: CFLUX LIBR TRKF :: COND 0.625 MERGE COMP MICR ALL SAVE ON <> ; ENDIF ; EDITN := BACKUP: EDITN CFLUX :: STEP UP <> STEP UP MFLUXG ; IF LEVEL 1 = THEN IF RNAM " " <> THEN ECHO "REFLECTOR HOMOGENEIZATION" ; EDITN := EDI: EDITN CFLUX LIBR TRKF :: COND 0.625 MERGE MIX 0 0 0 0 1 0 0 0 0 0 MICR ALL SAVE ON 'REFLECTR 1' ; COMPOR := CPO: EDITN :: STEP 'REFLECTR 1' EXTRACT BMOD MB11 MB10 EXTRACT MWAT MO16 MD2 MH1 NAME <> ; ELSE COMPOR := CPO: EDITN ; ENDIF ; ENDIF ; EVALUATE LEVEL := LEVEL 1 + ; IF LEVEL 2 > THEN EVALUATE ISTP := FSTP ; EVALUATE FSTP := FSTP FacTLog * ; ENDIF ; SYST := DELETE: SYST ; ENDWHILE ; *MACROSCOPIC CROSS-SECTION COMPO CREATION COMPO := CPO: EDITN BURNUP :: BURNUP 'REF-CASE' EXTRACT BMOD MB11 MB10 EXTRACT CWAT CO16 CD2 CH1 EXTRACT MWAT MO16 MD2 MH1 EXTRACT XE135 XE5 EXTRACT SM149 SM9 EXTRACT NP239 NP9 EXTRACT FPC FU3 FU5 FP9 FP0 FP1 NAME <> ; ECHO "FLUX CALCULATION FINISHED" ; END: ;