summaryrefslogtreecommitdiff
path: root/Dragon/data/CFC-CELL_proc/FLUXP.c2m
diff options
context:
space:
mode:
Diffstat (limited to 'Dragon/data/CFC-CELL_proc/FLUXP.c2m')
-rw-r--r--Dragon/data/CFC-CELL_proc/FLUXP.c2m211
1 files changed, 211 insertions, 0 deletions
diff --git a/Dragon/data/CFC-CELL_proc/FLUXP.c2m b/Dragon/data/CFC-CELL_proc/FLUXP.c2m
new file mode 100644
index 0000000..9273b83
--- /dev/null
+++ b/Dragon/data/CFC-CELL_proc/FLUXP.c2m
@@ -0,0 +1,211 @@
+* DRAGON FLUX AND COMPO PROCEDURE DECK for perturbated cases
+***********************************************************************
+* Purpose:
+* compute burnup depletion for pertubed 2-D cell of CANDU reactor.
+*
+* author:
+* Richard CHAMBON 11/02/24
+* Ecole Polytechnique
+*
+***********************************************************************
+PARAMETER EDITN COMPO COMPOR LIBR EDIREF BRNREF
+ TRKS TRKF TLINES TLINEF ::
+ ::: LINKED_LIST TRKS TRKF EDITN COMPO COMPOR LIBR EDIREF BRNREF ;
+ ::: SEQ_BINARY TLINES TLINEF ; ;
+PROCEDURE POWER PERTRB ;
+LINKED_LIST SYST CFLUX LIBTMP EDITMP ;
+MODULE LIB: SHI: ASM: FLU: EDI: CPO: RECOVER: END: DELETE: BACKUP: ;
+INTEGER LEVEL CALCU Nburn ;
+REAL POW PowRef ISTP FSTP ;
+STRING CNAM BNAM RNAM ;
+REAL TFuel TCool TMode DCool DMode
+ PCool PMode Bor Xe Sm Np Gad XeRef SmRef NpRef ;
+
+:: >>CALCU<< >>Nburn<< ;
+
+LIBTMP := LIBR ;
+EDITMP := EDIREF ;
+
+* Get concentrations for nominal case: XeRef SmRef NpRef
+PERTRB :: 1
+ >>TFuel<< >>TCool<< >>TMode<< >>DCool<< >>DMode<<
+ >>PCool<< >>PMode<< >>Bor<< >>XeRef<< >>SmRef<< >>NpRef<<
+ >>Gad<< ;
+
+* Get properties for current case
+PERTRB :: <<CALCU>>
+ >>TFuel<< >>TCool<< >>TMode<< >>DCool<< >>DMode<<
+ >>PCool<< >>PMode<< >>Bor<< >>Xe<< >>Sm<< >>Np<<
+ >>Gad<< ;
+
+* 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 ;
+
+
+* 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 ;
+
+*----
+* Update microlib for this burnup step using BRNREF
+*----
+ LIBTMP := LIB: LIBTMP BRNREF ::
+ BURN <<LEVEL>> MIX 6 MIX 7 MIX 8 MIX 9 ;
+*----
+* Update microlib for Xe-135
+*----
+ IF Xe XeRef <> THEN
+ LIBTMP := LIB: LIBTMP ::
+ MAXS MIX 6 XE5 <<Xe>> MIX 7 XE5 <<Xe>>
+ MIX 8 XE5 <<Xe>> MIX 9 XE5 <<Xe>> ;
+ ENDIF ;
+*----
+* Update microlib for Sm-149
+*----
+ IF Sm SmRef <> THEN
+ LIBTMP := LIB: LIBTMP ::
+ MAXS MIX 6 SM9 <<Sm>> MIX 7 SM9 <<Sm>>
+ MIX 8 SM9 <<Sm>> MIX 9 SM9 <<Sm>> ;
+ ENDIF ;
+*----
+* Update microlib for Np-239
+*----
+ IF Np NpRef <> THEN
+ LIBTMP := LIB: LIBTMP ::
+ MAXS MIX 6 NP9 <<Np>> MIX 7 NP9 <<Np>>
+ MIX 8 NP9 <<Np>> MIX 9 NP9 <<Np>> ;
+ ENDIF ;
+
+ LIBTMP := SHI: LIBTMP TRKS TLINES ;
+ SYST := ASM: LIBTMP TRKF TLINEF ;
+ CFLUX := RECOVER: EDITMP :: STEP UP <<BNAM>> STEP UP MFLUXG ;
+ CFLUX := FLU: CFLUX SYST LIBTMP TRKF ::
+ TYPE B B1 PNL IDEM ;
+ SYST := DELETE: SYST ;
+ ECHO "CELL HOMOGENEIZATION" ;
+ IF LEVEL 1 = THEN
+ EDITN := EDI: CFLUX LIBTMP TRKF ::
+ COND 0.625 MERGE COMP
+ MICR ALL
+ SAVE ON <<BNAM>> ;
+ ELSE
+ EDITN := EDI: EDITN CFLUX LIBTMP 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 ;
+
+ CFLUX := DELETE: CFLUX ;
+
+ EVALUATE LEVEL := LEVEL 1 + ;
+
+ENDWHILE ;
+
+*MACROSCOPIC CROSS-SECTION COMPO CREATION
+ COMPO := CPO: EDITN BRNREF ::
+ 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: ;