summaryrefslogtreecommitdiff
path: root/PyGan/data/testVVER_proc/vverBU.c2m
diff options
context:
space:
mode:
Diffstat (limited to 'PyGan/data/testVVER_proc/vverBU.c2m')
-rw-r--r--PyGan/data/testVVER_proc/vverBU.c2m178
1 files changed, 178 insertions, 0 deletions
diff --git a/PyGan/data/testVVER_proc/vverBU.c2m b/PyGan/data/testVVER_proc/vverBU.c2m
new file mode 100644
index 0000000..bcaf0fa
--- /dev/null
+++ b/PyGan/data/testVVER_proc/vverBU.c2m
@@ -0,0 +1,178 @@
+********************************************************************
+* *
+* Procedure : vverBU.c2m *
+* Purpose : BU iteration calculus *
+* Author : L.Fede *
+* *
+* CALL : *
+* COMPO := vverBU LIBRARY TRACK StepList TF_EXC :: <<Multicompo>> *
+* *
+********************************************************************
+
+* ---
+* INPUT & OUTPUT PARAMETERS
+* ---
+PARAMETER COMPO LIBRARY TRACK TF_EXC StepList ::
+::: LINKED_LIST COMPO ;
+::: LINKED_LIST LIBRARY ;
+::: LINKED_LIST TRACK ;
+::: SEQ_BINARY TF_EXC ;
+::: LINKED_LIST StepList ; ;
+INTEGER Multicompo ;
+:: >>Multicompo<< ;
+
+* ---
+* STRUCTURES AND MODULES
+* ---
+MODULE MAC: DELETE: UTL: USS: ASM: FLU: EVO: GREP: EXCELT: PSP: COMPO:
+ EDI: END: ;
+
+LINKED_LIST SYS FLUX BURNUP FIG EDIBU LIBRARY2 ;
+
+************************************************************************
+* 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<< ;
+************************************************************************
+* END DECLARATION *
+************************************************************************
+************************************************************************
+* BEGIN COMPO INITIALIZATION *
+************************************************************************
+COMPO := COMPO: ::
+ EDIT 10
+ STEP UP 'EDIBU'
+ MAXCAL 5
+ COMM 'Evolution burnup pincell' ENDC
+ PARA 'Burnup' IRRA
+ ISOT 14 U235 U236 U238 Pu239 Pu240 Pu241 Pu242 Gd154 Gd155 Gd156
+ Gd157 Gd158 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 := 41.9107 ; ! POWER NORM 41.9107 kW/kg
+REAL BUend Tend := 0. 0. ;
+INTEGER istep := 0 ;
+INTEGER iauto := 1 ;
+INTEGER iCompo := 1 ;
+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" ;
+
+*----
+* USS
+*----
+ IF istep 1 = THEN
+ ECHO ".perform self-shielding at" Tbeg "days" ;
+ LIBRARY2 := USS: LIBRARY TRACK TF_EXC :: EDIT 1 PASS 3 GRMIN 52 ;
+ ELSE
+ GREP: StepList :: GETVAL "ListAutop" <<iauto>> >>BUautop<< ;
+ GREP: StepList :: GETVAL "ListBU" <<istep>> >>BU<< ;
+ IF BUautop BU = THEN
+ ECHO "perform self-shielding at" Tbeg "days" ;
+ LIBRARY2 := USS: LIBRARY LIBRARY2 TRACK TF_EXC :: EDIT 0 PASS 3 GRMIN 52 ;
+ EVALUATE iauto := iauto 1 + ;
+ ENDIF ;
+ ENDIF ;
+
+************************************************************************
+* BEGIN MOC FLUX CALCULATION *
+************************************************************************
+ SYS := ASM: LIBRARY2 TRACK TF_EXC :: 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 15 U235 U238 U236 Pu238 Pu239 Pu240 Pu241 Pu242
+ Gd154 Gd155 Gd156 Gd157 Gd158 Xe135 Sm149
+ MERG MIX 1 0 0 0 1 1 1
+ COND
+ SAVE ON FUEL ;
+
+************************************************************************
+* MULTICOMPO FEEDING *
+************************************************************************
+ 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 *
+
+END: ;
+QUIT .