*---- * TEST CASE TCDR36 * MULTICELL CARTESIAN ASSEMBLY WITH WATER HOLES * 172-GROUP JEF2.2 DRAGLIB * SPH with BIVAC / multicompo creation / verification calculation * * REF: none * *---- * Define STRUCTURES and MODULES used *---- LINKED_LIST GEOM_F1 TRACK_F1 GEOM_SS TRACK_SS LIBRARY AUTO_LIB SYS FLUX1 BURN EDITION DATABASE MACROLIB SPHGEOM MTRACK ; MODULE DELETE: END: LIB: GEO: SYBILT: USS: ASM: FLU: EVO: EDI: COMPO: BIVACT: GREP: SPH: ABORT: ; REAL b2 ; REAL VALUE REFVALUE DELTA ; PROCEDURE assertS ; * STRING LibName := "DLIB_J2" ; INTEGER F11 F12 F13 F14 F15 := 1 2 3 4 5 ; INTEGER GAP CLAD MODE := 6 7 8 ; * REAL COTE := 1.26 ; REAL RF1 RF2 RF3 RF4 RF5 := 0.1767 0.2499 0.3060 0.3534 0.3951 ; REAL RG RC := 0.4010 0.4583 ; REAL Tmode Tclad Tfuel Tgap := 580.0 600.0 900.0 900.0 ; REAL Keff ; * ************************************************************************ * Zero burnup Calculation -- Zero burnup Calculation -- Zero burnup Calc ************************************************************************ * * Microscopic XS Library *********************************************** * LIBRARY := LIB: :: EDIT 0 NMIX <> CTRA APOL ANIS 2 SUBG DEPL LIB: DRAGON FIL: <> MIXS LIB: DRAGON FIL: <> * MIX <> <> (*F11*) U234 0.0 1 IRSET 0.0 81 U235 9.71492E-04 1 IRSET 0.0 81 U236 0.0 1 IRSET 0.0 81 U238 2.18794E-02 1 IRSET 0.0 81 Np237 0.0 1 IRSET 0.0 81 Pu238 0.0 1 IRSET 0.0 81 Pu239 0.0 1 IRSET 0.0 81 Pu240 0.0 1 IRSET 0.0 81 Pu241 0.0 1 IRSET 0.0 81 Pu242 0.0 1 IRSET 0.0 81 Am241 0.0 1 IRSET 0.0 81 O16 4.57018E-02 MIX <> COMB <> 1.0 (*F12*) MIX <> COMB <> 1.0 (*F13*) MIX <> COMB <> 1.0 (*F14*) MIX <> COMB <> 1.0 (*F15*) * MIX <> <> (*GAP*) O16 3.76661E-05 * MIX <> <> (*CLAD*) N14 2.15407E-05 Cr50 1.78447E-06 Cr52 3.58179E-05 Cr53 4.13810E-06 Cr54 1.04843E-06 Fe54 2.87539E-06 Fe56 4.71718E-05 Fe57 1.09881E-06 Fe58 1.48904E-07 Zr0 4.20495E-02 2 IRSET 0.0 81 Sn115 2.11926E-06 Sn116 9.11285E-05 Sn117 4.85505E-05 Sn118 1.54514E-04 Sn119 5.52294E-05 Sn120 2.11413E-04 Sn122 3.05046E-05 Sn124 3.87890E-05 * MIX <> <> (*MODE*) H1_H2O 4.76055E-02 NOEV B10 7.89221E-06 NOEV B11 3.17673E-05 NOEV O16 2.38129E-02 NOEV ; * * Self-Shielding ******************************************************* *---- * Geometry *---- GEOM_SS := GEO: :: CAR2D 3 3 X- DIAG X+ REFL Y- REFL Y+ DIAG CELL C1 C2 C1 C2 C2 C1 MERGE 1 2 1 2 3 1 ::: C1 := GEO: CARCEL 0 (*WATER HOLE*) MESHX 0.0 <> MESHY 0.0 <> MIX <> ; ::: C2 := GEO: CARCEL 7 (*STANDARD CELL*) X- REFL X+ REFL Y- REFL Y+ REFL MESHX 0.0 <> MESHY 0.0 <> RADIUS 0.0 <> <> <> <> <> <> <> MIX <> <> <> <> <> <> <> <> ; ; *---- * Tracking *---- TRACK_SS := SYBILT: GEOM_SS :: EDIT 0 MAXR 400 MAXZ 100000 DP01 QUA2 20 3 ; *---- * Self-Shielding *---- AUTO_LIB := USS: LIBRARY TRACK_SS :: EDIT 0 GRMIN 45 PASS 2 CALC REGI W1 U234 ALL REGI W1 U235 ALL REGI W1 U236 ALL REGI W1 Np237 ALL REGI W1 Pu238 ALL REGI W1 Pu239 ALL REGI W1 Pu240 ALL REGI W1 Pu241 ALL REGI W1 Pu242 ALL REGI W1 Am241 ALL REGI W1 Zr0 ALL ENDC ; *---- * Create the reactor database *---- DATABASE := COMPO: :: EDIT 5 STEP UP 'fuel' COMM 'Multi-parameter reactor database for fuel' ENDC PARA 'BURN' IRRA PARA 'FLUB' FLUB INIT ; *---- * Geometry *---- GEOM_F1 := GEO: :: CAR2D 3 3 X- DIAG X+ REFL Y- REFL Y+ DIAG CELL C1 C2 C1 C2 C2 C1 MERGE 1 2 3 2 4 5 ::: C1 := GEO: CARCEL 0 (*WATER HOLE*) MESHX 0.0 <> MESHY 0.0 <> MIX <> ; ::: C2 := GEO: CARCEL 7 (*STANDARD CELL*) MESHX 0.0 <> MESHY 0.0 <> RADIUS 0.0 <> <> <> <> <> <> <> MIX <> <> <> <> <> <> <> <> ; ; *---- * Tracking *---- TRACK_F1 := SYBILT: GEOM_F1 :: EDIT 0 MAXR 400 MAXZ 100000 DP01 QUA2 20 3 ; *---- * Flux Calculation *---- SYS := ASM: AUTO_LIB TRACK_F1 :: ; FLUX1 := FLU: AUTO_LIB TRACK_F1 SYS :: TYPE B B1 SIGS ; SYS := DELETE: SYS ; assertS FLUX1 :: 'K-INFINITY' 1 1.217577 ; * ************************************************************************ * burnup loop -- burnup loop -- burnup loop -- burnup loop -- burnup loo ************************************************************************ * REAL Power Delt ; INTEGER i f := 2 1 ; REAL Timei Timef Delb Burnc Burni Burnf Burns := 0.0 0.0 75.0 150.0 0.0 0.0 0.0 ; EVALUATE Power := 37.87 ; *---- * Fill multicompo *---- BURN AUTO_LIB := EVO: AUTO_LIB FLUX1 TRACK_F1 :: EDIT 0 SAVE <> DAY POWR <> ; EDITION := EDI: FLUX1 AUTO_LIB TRACK_F1 GEOM_F1 :: COND 0.625 MERGE CELL MICR RES SAVE ON 'fuel' ; DATABASE := COMPO: DATABASE EDITION BURN :: EDIT 3 STEP UP * SET <> DAY ; * WHILE Burni Burnc < DO * EVALUATE Burnf := Burni Delb + ; EVALUATE Delt := Delb Power / ; EVALUATE Timef := Timei Delt + ; * BURN AUTO_LIB := EVO: BURN AUTO_LIB FLUX1 TRACK_F1 :: EDIT 1 DEPL <> <> DAY POWR <> EXPM 1.0E15 GLOB ; * AUTO_LIB := USS: LIBRARY AUTO_LIB TRACK_SS :: EDIT 0 GRMIN 45 PASS 2 ; *---- * Flux Calculation *---- SYS := ASM: AUTO_LIB TRACK_F1 ; FLUX1 := FLU: FLUX1 AUTO_LIB TRACK_F1 SYS :: TYPE B B1 SIGS ; SYS := DELETE: SYS ; *---- * Fill multicompo *---- BURN AUTO_LIB := EVO: BURN AUTO_LIB FLUX1 TRACK_F1 :: EDIT 0 SAVE <> DAY POWR <> ; EDITION := EDI: EDITION FLUX1 AUTO_LIB TRACK_F1 GEOM_F1 :: COND 0.625 MERGE CELL SAVE ON 'fuel' ; DATABASE := COMPO: DATABASE EDITION BURN :: EDIT 3 STEP UP * SET <> DAY ; * IF Burnf Burnc = THEN IF Burnc 1000.0 = THEN EVALUATE Delb Burnc := 1000.0 2000.0 ; GREP: FLUX1 :: GETVAL 'B2 B1HOM' 1 1 1 >>b2<< ; ECHO "buckling at 1000 MWd/tonne=" b2 ; ENDIF ; IF Burnc 500.0 = THEN EVALUATE Delb Burnc := 500.0 1000.0 ; ENDIF ; IF Burnc 150.0 = THEN EVALUATE Delb Burnc := 350.0 500.0 ; ENDIF ; ENDIF ; EVALUATE Burni := Burnf ; EVALUATE Timei := Timef ; * ENDWHILE ; assertS FLUX1 :: 'K-INFINITY' 1 1.161285 ; * LIBRARY GEOM_SS TRACK_SS AUTO_LIB BURN := DELETE: LIBRARY GEOM_SS TRACK_SS AUTO_LIB BURN ; GEOM_F1 TRACK_F1 FLUX1 := DELETE: GEOM_F1 TRACK_F1 FLUX1 ; * ******************************************** * SPH equivalences ******************************************** * SPHGEOM := DATABASE :: STEP UP fuel STEP UP 'GEOMETRIES' STEP AT 1 ; MTRACK := BIVACT: SPHGEOM :: DUAL (*IELEM=*) 1 (*ICOL=*) 2 ; * INTEGER istep := 0 ; WHILE istep 6 < DO EVALUATE istep := istep 1 + ; DATABASE := SPH: DATABASE MTRACK :: EDIT 1 STEP UP fuel STEP AT <> ; ENDWHILE ; * ******************************************** * Verification calculation at 1000 MWd/tonne ******************************************** * MACROLIB := SPH: DATABASE :: EDIT 5 STEP UP fuel STEP AT 5 MACRO LEAK <> OFF ; GEOM_F1 := DATABASE :: STEP UP fuel STEP UP 'GEOMETRIES' STEP AT 1 ; TRACK_F1 := BIVACT: GEOM_F1 :: TITLE 'VERIFICATION CALCULATION' EDIT 2 MAXR 50 DUAL (*IELEM=*) 1 (*ICOL=*) 2 ; SYS := ASM: MACROLIB TRACK_F1 :: ARM ; FLUX1 := FLU: MACROLIB TRACK_F1 SYS :: TYPE K EXTE 100 5.0E-8 ; * * Non regression assert * EVALUATE REFVALUE := 1.0 ; * GREP: FLUX1 :: GETVAL K-EFFECTIVE 1 >>VALUE<< ; EVALUATE DELTA := VALUE REFVALUE - REFVALUE / ABS ; IF DELTA 5.0E-4 < THEN PRINT "TEST SUCCESSFUL; DELTA=" DELTA ; ELSE PRINT "------------" ; PRINT "TEST FAILURE" ; PRINT "------------" ; PRINT "DELTA=" DELTA ; PRINT "REFERENCE=" REFVALUE " CALCULATED=" VALUE ; ABORT: ; ENDIF ; GEOM_F1 TRACK_F1 SYS FLUX1 := DELETE: GEOM_F1 TRACK_F1 SYS FLUX1 ; * ECHO "test TCDR36 completed" ; END: ; QUIT .