diff options
| author | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
|---|---|---|
| committer | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
| commit | 7dfcc480ba1e19bd3232349fc733caef94034292 (patch) | |
| tree | 03ee104eb8846d5cc1a981d267687a729185d3f3 /Dragon/data/tdraglib_proc/TCDR36.c2m | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Dragon/data/tdraglib_proc/TCDR36.c2m')
| -rw-r--r-- | Dragon/data/tdraglib_proc/TCDR36.c2m | 337 |
1 files changed, 337 insertions, 0 deletions
diff --git a/Dragon/data/tdraglib_proc/TCDR36.c2m b/Dragon/data/tdraglib_proc/TCDR36.c2m new file mode 100644 index 0000000..8a67373 --- /dev/null +++ b/Dragon/data/tdraglib_proc/TCDR36.c2m @@ -0,0 +1,337 @@ +*---- +* 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 <<MODE>> + CTRA APOL + ANIS 2 + SUBG + DEPL LIB: DRAGON FIL: <<LibName>> + MIXS LIB: DRAGON FIL: <<LibName>> +* + MIX <<F11>> <<Tfuel>> (*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 <<F12>> COMB <<F11>> 1.0 (*F12*) + MIX <<F13>> COMB <<F11>> 1.0 (*F13*) + MIX <<F14>> COMB <<F11>> 1.0 (*F14*) + MIX <<F15>> COMB <<F11>> 1.0 (*F15*) +* + MIX <<GAP>> <<Tgap>> (*GAP*) + O16 3.76661E-05 +* + MIX <<CLAD>> <<Tclad>> (*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>> <<Tmode>> (*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 <<COTE>> + MESHY 0.0 <<COTE>> + MIX <<MODE>> ; + ::: C2 := GEO: CARCEL 7 (*STANDARD CELL*) + X- REFL X+ REFL + Y- REFL Y+ REFL + MESHX 0.0 <<COTE>> + MESHY 0.0 <<COTE>> + RADIUS 0.0 <<RF1>> <<RF2>> <<RF3>> <<RF4>> <<RF5>> + <<RG>> <<RC>> + MIX <<F11>> <<F12>> <<F13>> <<F14>> <<F15>> + <<GAP>> <<CLAD>> <<MODE>> ; + ; +*---- +* 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 <<COTE>> + MESHY 0.0 <<COTE>> + MIX <<MODE>> ; + ::: C2 := GEO: CARCEL 7 (*STANDARD CELL*) + MESHX 0.0 <<COTE>> + MESHY 0.0 <<COTE>> + RADIUS 0.0 <<RF1>> <<RF2>> <<RF3>> <<RF4>> <<RF5>> + <<RG>> <<RC>> + MIX <<F11>> <<F12>> <<F13>> <<F14>> <<F15>> + <<GAP>> <<CLAD>> <<MODE>> ; + ; +*---- +* 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 <<Timef>> DAY POWR <<Power>> +; +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 <<Timef>> 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 <<Timei>> <<Timef>> DAY POWR <<Power>> + 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 <<Timef>> DAY POWR <<Power>> + ; + 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 <<Timef>> 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 <<istep>> + ; +ENDWHILE ; +* +******************************************** +* Verification calculation at 1000 MWd/tonne +******************************************** +* +MACROLIB := SPH: DATABASE :: + EDIT 5 + STEP UP fuel STEP AT 5 + MACRO LEAK <<b2>> 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 . |
