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/CFC-CELL_proc/FLUX.c2m | 194 +++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 Dragon/data/CFC-CELL_proc/FLUX.c2m (limited to 'Dragon/data/CFC-CELL_proc/FLUX.c2m') diff --git a/Dragon/data/CFC-CELL_proc/FLUX.c2m b/Dragon/data/CFC-CELL_proc/FLUX.c2m new file mode 100644 index 0000000..261942a --- /dev/null +++ b/Dragon/data/CFC-CELL_proc/FLUX.c2m @@ -0,0 +1,194 @@ +* 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: ; -- cgit v1.2.3