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 --- PyGan/data/testVVER_proc/vverBU.c2m | 178 +++++++++++++++++++++++++++++++++ PyGan/data/testVVER_proc/vverBU.py | 31 ++++++ PyGan/data/testVVER_proc/vverGEO.c2m | 42 ++++++++ PyGan/data/testVVER_proc/vverGEO.py | 25 +++++ PyGan/data/testVVER_proc/vverMIX.c2m | 73 ++++++++++++++ PyGan/data/testVVER_proc/vverMIX.py | 26 +++++ PyGan/data/testVVER_proc/vverTRACK.c2m | 46 +++++++++ PyGan/data/testVVER_proc/vverTRACK.py | 31 ++++++ 8 files changed, 452 insertions(+) create mode 100644 PyGan/data/testVVER_proc/vverBU.c2m create mode 100644 PyGan/data/testVVER_proc/vverBU.py create mode 100644 PyGan/data/testVVER_proc/vverGEO.c2m create mode 100644 PyGan/data/testVVER_proc/vverGEO.py create mode 100644 PyGan/data/testVVER_proc/vverMIX.c2m create mode 100644 PyGan/data/testVVER_proc/vverMIX.py create mode 100644 PyGan/data/testVVER_proc/vverTRACK.c2m create mode 100644 PyGan/data/testVVER_proc/vverTRACK.py (limited to 'PyGan/data/testVVER_proc') 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 :: <> * +* * +******************************************************************** + +* --- +* 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' <> >>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" <> >>BUautop<< ; + GREP: StepList :: GETVAL "ListBU" <> >>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 <> DAY POWR <> + ; + ELSE + BURNUP LIBRARY2 := EVO: BURNUP LIBRARY2 FLUX TRACK :: + EDIT 0 + SAVE <> DAY POWR <> + ; + ENDIF ; + + GREP: StepList :: GETVAL "ListCompo" <> >>BUcompo<< ; + GREP: StepList :: GETVAL "ListBU" <> >>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 <> 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' <> >>BUend<< ; + EVALUATE Tend := BUend Norm_f2 / ; + + BURNUP LIBRARY2 := EVO: BURNUP LIBRARY2 FLUX TRACK :: + EDIT 3 DEPL <> <> DAY POWR <> + EXPM 1.0E15 GLOB ; + + ENDIF ; + +************************************************************************ +* END FLUX CALCULATION * +************************************************************************ + +ENDWHILE ; +************************************************************************ +* END OF REFERENCE BURNUP LOOP WITH DEPLETION * + +END: ; +QUIT . diff --git a/PyGan/data/testVVER_proc/vverBU.py b/PyGan/data/testVVER_proc/vverBU.py new file mode 100644 index 0000000..8def8c9 --- /dev/null +++ b/PyGan/data/testVVER_proc/vverBU.py @@ -0,0 +1,31 @@ +############################################################################## +# # +# Description : PyGan scritp for VVER pin cell simulation with DRAGON5 # +# Author : L. Fede # +# Date : 2023 # +# # +############################################################################## +# +import lifo +import cle2000 + +def vverBU(namCOMPO,pyMIX,pyTRACK,pyTF_EXC,StepList,Multicompo): + + # Lifo + myLifo=lifo.new() + myLifo.pushEmpty(namCOMPO,"LCM") + myLifo.push(pyMIX) + myLifo.push(pyTRACK) + myLifo.push(pyTF_EXC) + myLifo.push(StepList) + myLifo.push(Multicompo) + myLifo.lib() + + # Execution + calcVVER = cle2000.new('vverBU',myLifo,1) + calcVVER.exec() + + # Recover + myLifo.lib() + pyCOMPO = myLifo.node(namCOMPO) + return pyCOMPO diff --git a/PyGan/data/testVVER_proc/vverGEO.c2m b/PyGan/data/testVVER_proc/vverGEO.c2m new file mode 100644 index 0000000..53e02ba --- /dev/null +++ b/PyGan/data/testVVER_proc/vverGEO.c2m @@ -0,0 +1,42 @@ +**************************************************************** +* * +* Procedure : vverGEO.c2m * +* Purpose : Geometry creation * +* Author : L.Fede * +* * +* CALL : * +* GEOM := vverGEO * +* * +**************************************************************** + +* --- +* INPUT & OUTPUT PARAMETERS +* --- +PARAMETER GEOM :: ::: LINKED_LIST GEOM ; ; + +* --- +* STRUCTURES AND MODULES +* --- +MODULE GEO: END: ; +REAL PITCH := 0.73612 ; + +INTEGER COMB0101 COMB0105 COMB0106 COMB0107 GAIN3 MODE4 := + 1 5 6 7 3 4 ; ! DISTRIBUTED SELF-SHIELDING + +* --- +* GEOMETRY DEFINITION +* --- +REAL RCOMB7 := 0.3860 ; +REAL RCOMB1 := 0.5 SQRT RCOMB7 * ; +REAL RCOMB5 := 0.8 SQRT RCOMB7 * ; +REAL RCOMB6 := 0.95 SQRT RCOMB7 * ; + +GEOM := GEO: :: HEXCEL 5 + HBC COMPLETE ALBE 1.0 + SIDE <> + RADIUS 0.0 <> <> <> <> 0.4582 + MIX <> <> <> <> <> <> +; + +END: ; +QUIT . diff --git a/PyGan/data/testVVER_proc/vverGEO.py b/PyGan/data/testVVER_proc/vverGEO.py new file mode 100644 index 0000000..ccc4452 --- /dev/null +++ b/PyGan/data/testVVER_proc/vverGEO.py @@ -0,0 +1,25 @@ +############################################################################## +# # +# Description : PyGan scritp for VVER pin cell simulation with DRAGON5 # +# Author : L. Fede # +# Date : 2023 # +# # +############################################################################## +# +import lifo +import cle2000 + +def vverGEO(namGEOM): + + # Lifo + myLifo=lifo.new() + myLifo.pushEmpty(namGEOM, "LCM") + + # Execution + geoVVER = cle2000.new('vverGEO',myLifo,1) + geoVVER.exec() + + # Recover + myLifo.lib() + pyGEOM = myLifo.node(namGEOM) + return pyGEOM diff --git a/PyGan/data/testVVER_proc/vverMIX.c2m b/PyGan/data/testVVER_proc/vverMIX.c2m new file mode 100644 index 0000000..3fbe221 --- /dev/null +++ b/PyGan/data/testVVER_proc/vverMIX.c2m @@ -0,0 +1,73 @@ +**************************************************************** +* * +* Procedure : vverMIX.c2m * +* Purpose : Mixture creation * +* Author : L.Fede * +* * +* CALL : * +* LIBRARY := vverMIX :: <> * +* * +**************************************************************** + +* --- +* INPUT & OUTPUT PARAMETERS +* --- +PARAMETER LIBRARY :: +::: LINKED_LIST LIBRARY ; ; + +STRING Library ; +:: >>Library<< ; + +* --- +* STRUCTURES AND MODULES +* --- +MODULE LIB: END: ; + +INTEGER COMB0101 COMB0105 COMB0106 COMB0107 GAIN3 MODE4 := + 1 5 6 7 3 4 ; ! DISTRIBUTED SELF-SHIELDING + +REAL N_Zr90 N_Zr91 N_Zr92 N_Zr94 N_Zr96 := + 2.165762E-2 4.72300E-3 7.219212E-3 7.316029E-3 1.178642E-3 ; + +* STRING Library := "DLIB_J3p1p1" ; + +* --- +* MIX +* --- +LIBRARY := LIB: :: + EDIT 1 + NMIX 7 ! MAXIMUM OF MATERIAL MIXTURES + PT + CTRA APOL ! APOLLO TYPE TRANSPORT CORRECTION + ANIS 2 + ADED 4 NELAS N4N N2N N3N + CALENDF 3 PT ! CALENDF TYPE PROBABILITY TABLES + + DEPL LIB: DRAGON FIL: <> + + MIXS LIB: DRAGON FIL: <> + + MIX <> 1027.0 + O16 = O16 3.92350E-2 + U235 = U235 8.73700E-4 1 + U238 = U238 1.87440E-2 1 + Xe135 = Xe135 9.45810E-9 + Sm149 = Sm149 7.36670E-8 + MIX <> COMB <> 1.0 + MIX <> COMB <> 1.0 + MIX <> COMB <> 1.0 + MIX <> 579.0 NOEV + Zr90 = Zr90 <> 2 + Zr91 = Zr91 <> 2 + Zr92 = Zr92 <> 2 + Zr94 = Zr94 <> + Zr96 = Zr96 <> + MIX <> 579.0 NOEV + H1 = H1_H2O 4.78300E-2 + O16 = O16 2.39100E-2 + B10 = B10 4.73440E-6 + B11 = B11 1.91770E-5 +; + +END: ; +QUIT . diff --git a/PyGan/data/testVVER_proc/vverMIX.py b/PyGan/data/testVVER_proc/vverMIX.py new file mode 100644 index 0000000..cf059cc --- /dev/null +++ b/PyGan/data/testVVER_proc/vverMIX.py @@ -0,0 +1,26 @@ +############################################################################## +# # +# Description : PyGan scritp for VVER pin cell simulation with DRAGON5 # +# Author : L. Fede # +# Date : 2023 # +# # +############################################################################## +# +import lifo +import cle2000 + +def vverMIX(namMIX,Library): + # Lifo + myLifo=lifo.new() + myLifo.pushEmpty(namMIX, "LCM") + myLifo.push(Library) + myLifo.lib() + + # Execution + mixVVER = cle2000.new('vverMIX',myLifo,1) + mixVVER.exec() + + # Recover + myLifo.lib() + pyMIX = myLifo.node(namMIX) + return pyMIX diff --git a/PyGan/data/testVVER_proc/vverTRACK.c2m b/PyGan/data/testVVER_proc/vverTRACK.c2m new file mode 100644 index 0000000..e3c0642 --- /dev/null +++ b/PyGan/data/testVVER_proc/vverTRACK.c2m @@ -0,0 +1,46 @@ +**************************************************************** +* * +* Procedure : vverTRACK.c2m * +* Purpose : Tracking and figure * +* Author : L.Fede * +* * +* CALL : * +* UOX_TBH FIG1.ps TRACK TF_EXC := vverTRACK GEOM * +* * +**************************************************************** + +* --- +* INPUT & OUTPUT PARAMETERS +* --- +PARAMETER UOX_TBH FIG1.ps TRACK TF_EXC GEOM :: +::: SEQ_ASCII UOX_TBH ; +::: SEQ_ASCII FIG1.ps ; +::: LINKED_LIST TRACK ; +::: SEQ_BINARY TF_EXC ; +::: LINKED_LIST GEOM ; ; + +* --- +* STRUCTURES AND MODULES +* --- +MODULE G2S: SALT: END: ; + +SEQ_ASCII _BURN :: FILE './_BURN_rowland.txt' ; +SEQ_ASCII _LIBR :: FILE './_LIB_rowland.txt' ; +SEQ_ASCII _EDIT :: FILE './_EDIT_rowland.txt' ; + +INTEGER an2d := 12 ; ! ANGULAR QUADRATURE PARAMETER +REAL densur := 20.0 ; ! DENSITY OF INTEGRATION LINES CM^-1 + +* --- +* TRACKING +* --- +UOX_TBH FIG1.ps := G2S: GEOM :: DRAWMIX ; + +TRACK TF_EXC := SALT: UOX_TBH :: + EDIT 3 + ALLG + TISO <> <> REND +; + +END: ; +QUIT . diff --git a/PyGan/data/testVVER_proc/vverTRACK.py b/PyGan/data/testVVER_proc/vverTRACK.py new file mode 100644 index 0000000..f7a60dc --- /dev/null +++ b/PyGan/data/testVVER_proc/vverTRACK.py @@ -0,0 +1,31 @@ +############################################################################## +# # +# Description : PyGan scritp for VVER pin cell simulation with DRAGON5 # +# Author : L. Fede # +# Date : 2023 # +# # +############################################################################## +# +import lifo +import cle2000 + +def vverTRACK(namUOX_TBH,namFIG,namTRACK,namTF_EXC,pyGEOM): + # Lifo + myLifo=lifo.new() + myLifo.pushEmpty(namUOX_TBH, "ASCII") + myLifo.pushEmpty(namFIG, "ASCII") + myLifo.pushEmpty(namTRACK, "LCM") + myLifo.pushEmpty(namTF_EXC, "BINARY") + myLifo.push(pyGEOM) + + # Execution + trackVVER = cle2000.new('vverTRACK',myLifo,1) + trackVVER.exec() + + # Recover + myLifo.lib() + pyUOX_TBH = myLifo.node(namUOX_TBH) + pyFIG = myLifo.node(namFIG) + pyTRACK = myLifo.node(namTRACK) + pyTF_EXC = myLifo.node(namTF_EXC) + return [pyUOX_TBH,pyFIG,pyTRACK,pyTF_EXC] -- cgit v1.2.3