summaryrefslogtreecommitdiff
path: root/Dragon/data/testVVER7_proc/vverBU.c2m
diff options
context:
space:
mode:
Diffstat (limited to 'Dragon/data/testVVER7_proc/vverBU.c2m')
-rw-r--r--Dragon/data/testVVER7_proc/vverBU.c2m209
1 files changed, 209 insertions, 0 deletions
diff --git a/Dragon/data/testVVER7_proc/vverBU.c2m b/Dragon/data/testVVER7_proc/vverBU.c2m
new file mode 100644
index 0000000..b5dd7c3
--- /dev/null
+++ b/Dragon/data/testVVER7_proc/vverBU.c2m
@@ -0,0 +1,209 @@
+*******************************************************************************************************
+* *
+* Procedure : vverBU.c2m *
+* Purpose : BU iteration calculus *
+* Author : L.Fede *
+* *
+* CALL : *
+* COMPO := vverBU LIBRARY TRACK TF_EXC TRACK_SS TF_EXC_SS StepList :: <<Multicompo>> <<name_geom>> *
+* <<name_compo>> <<ss>> *
+* *
+*******************************************************************************************************
+
+* ---
+* INPUT & OUTPUT PARAMETERS
+* ---
+PARAMETER COMPO LIBRARY TRACK TF_EXC TRACK_SS TF_EXC_SS StepList ::
+::: LINKED_LIST COMPO ;
+::: LINKED_LIST LIBRARY ;
+::: LINKED_LIST TRACK ;
+::: SEQ_BINARY TF_EXC ;
+::: LINKED_LIST TRACK_SS ;
+::: SEQ_BINARY TF_EXC_SS ;
+::: LINKED_LIST StepList ; ;
+INTEGER Multicompo ;
+:: >>Multicompo<< ;
+STRING name_geom name_compo ss ;
+:: >>name_geom<< >>name_compo<< >>ss<< ;
+
+* ---
+* STRUCTURES AND MODULES
+* ---
+MODULE MAC: DELETE: UTL: AUTO: USS: ASM: FLU: EVO: GREP: EXCELT: PSP:
+ COMPO: EDI: END: ABORT: ;
+LINKED_LIST SYS FLUX BURNUP FIG EDIBU LIBRARY2 ;
+SEQ_ASCII _COMPO :: FILE <<name_compo>> ;
+
+************************************************************************
+* 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<< ;
+ECHO "nstep=" nstep "nauto=" nauto "maxcompo=" maxcompo "ss=" ss ;
+************************************************************************
+* END DECLARATION *
+************************************************************************
+************************************************************************
+* BEGIN COMPO INITIALIZATION *
+************************************************************************
+COMPO := COMPO: ::
+ EDIT 10
+ STEP UP 'EDIBU'
+ MAXCAL 5
+ COMM 'Evolution burnup pincell' ENDC
+ PARA 'Burnup' IRRA
+ ISOT 11 U235 U236 U238 Pu239 Pu240 Pu241 Pu242 Gd155 Gd157 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 := 36.8577 ; ! SPECIFIC POWER MW/t
+REAL BUend Tend := 0. 0. ;
+INTEGER istep := 0 ;
+INTEGER iauto := 1 ;
+INTEGER iCompo := 1 ;
+ECHO "start burnup loop" ;
+WHILE istep nstep < DO
+
+ EVALUATE istep := istep 1 + ;
+ ECHO "burnup step: " istep "/" nstep ;
+
+ EVALUATE BUbeg Tbeg := BUend Tend ;
+ GREP: StepList :: GETVAL 'ListBU' <<istep>> >>BUend<< ;
+ EVALUATE Tend := BUend Norm_f2 / ;
+ ECHO "Nominal depletion between" Tbeg " and" Tend "days" ;
+
+*----
+* AUTO
+*----
+ IF istep 1 = THEN
+ ECHO ".perform self-shielding at" Tbeg "days" ;
+ IF ss 'auto' = THEN
+ LIBRARY2 := AUTO: LIBRARY TRACK_SS TF_EXC_SS :: EDIT 1 PASS 1 MAXT 60000 SEED 1111
+ CALC REGI W1 U235 ALL
+ ENDC ;
+ ELSEIF ss 'uss' = THEN
+ LIBRARY2 := USS: LIBRARY TRACK_SS TF_EXC_SS :: EDIT 1 PASS 3
+ CALC REGI W1 U235 ALL
+ ENDC ;
+ ELSE
+ ECHO "vverBU: self shielding" ss "not available" ;
+ ABORT: ;
+ ENDIF ;
+ ELSE
+ GREP: StepList :: GETVAL "ListAutop" <<iauto>> >>BUautop<< ;
+ GREP: StepList :: GETVAL "ListBU" <<istep>> >>BU<< ;
+ IF BUautop BU = THEN
+ ECHO "perform self-shielding at" Tbeg "days" ;
+ IF ss 'auto' = THEN
+ LIBRARY2 := AUTO: LIBRARY LIBRARY2 TRACK_SS TF_EXC_SS :: EDIT 1
+ CALC REGI W1 U235 ALL
+ ENDC ;
+ ELSEIF ss 'uss' = THEN
+ LIBRARY2 := USS: LIBRARY LIBRARY2 TRACK_SS TF_EXC_SS :: EDIT 1
+ CALC REGI W1 U235 ALL
+ ENDC ;
+ ELSE
+ ECHO "vverBU: self shielding" ss "not available" ;
+ ABORT: ;
+ ENDIF ;
+ EVALUATE iauto := iauto 1 + ;
+ ENDIF ;
+ ENDIF ;
+
+************************************************************************
+* BEGIN MOC FLUX CALCULATION *
+************************************************************************
+ SYS := ASM: LIBRARY2 TRACK TF_EXC :: ARM 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 <<Tbeg>> DAY POWR <<Norm_f2>>
+ ;
+ ELSE
+ BURNUP LIBRARY2 := EVO: BURNUP LIBRARY2 FLUX TRACK ::
+ EDIT 0
+ SAVE <<Tbeg>> DAY POWR <<Norm_f2>>
+ ;
+ ENDIF ;
+
+ GREP: StepList :: GETVAL "ListCompo" <<iCompo>> >>BUcompo<< ;
+ GREP: StepList :: GETVAL "ListBU" <<istep>> >>BU<< ;
+
+ IF BUcompo BU = THEN
+ EDIBU := EDI: FLUX LIBRARY2 TRACK ::
+ EDIT 5
+ MICR 11 U235 U236 U238 Pu239 Pu240 Pu241 Pu242 Gd155 Gd157 Xe135 Sm149
+ MERG MIX 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
+ COND
+ SAVE ON FUEL ;
+ COMPO := COMPO: COMPO EDIBU BURNUP LIBRARY ::
+ EDIT 2
+ STEP UP 'EDIBU'
+ SET <<Tbeg>> 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' <<istepNext>> >>BUend<< ;
+ EVALUATE Tend := BUend Norm_f2 / ;
+
+ BURNUP LIBRARY2 := EVO: BURNUP LIBRARY2 FLUX TRACK ::
+ EDIT 3 DEPL <<Tbeg>> <<Tend>> DAY POWR <<Norm_f2>>
+ EXPM 1.0E15 GLOB ;
+
+ ENDIF ;
+
+************************************************************************
+* END FLUX CALCULATION *
+************************************************************************
+
+ENDWHILE ;
+************************************************************************
+* END OF REFERENCE BURNUP LOOP WITH DEPLETION *
+************************************************************************
+
+************************************************************************
+* EXPORT MULTICOMPO IN ASCII FORMAT *
+************************************************************************
+_COMPO := COMPO ;
+
+END: ;
+QUIT .