summaryrefslogtreecommitdiff
path: root/Dragon/data/CFC-CELL_proc/FLUX.c2m
diff options
context:
space:
mode:
authorstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
committerstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
commit7dfcc480ba1e19bd3232349fc733caef94034292 (patch)
tree03ee104eb8846d5cc1a981d267687a729185d3f3 /Dragon/data/CFC-CELL_proc/FLUX.c2m
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Dragon/data/CFC-CELL_proc/FLUX.c2m')
-rw-r--r--Dragon/data/CFC-CELL_proc/FLUX.c2m194
1 files changed, 194 insertions, 0 deletions
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 :: <<CALCU>> >>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 <<ISTP>> <<FSTP>> DAY POWR <<POW>> ;
+ ELSE
+ BURNUP LIBR := EVO: LIBR CFLUX TRKF ::
+ NOEX DIRA DEPL <<ISTP>> <<FSTP>> DAY POWR <<POW>> ;
+ 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 <<BNAM>> ;
+ 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 <<BNAM>> ;
+ ENDIF ;
+
+ EDITN := BACKUP: EDITN CFLUX :: STEP UP <<BNAM>> 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 <<RNAM>> ;
+ 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 <<CNAM>> ;
+
+ECHO "FLUX CALCULATION FINISHED" ;
+
+END: ;