summaryrefslogtreecommitdiff
path: root/Dragon/data/tdraglib_proc/TCDR36.c2m
diff options
context:
space:
mode:
authorstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
committerstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
commit7dfcc480ba1e19bd3232349fc733caef94034292 (patch)
tree03ee104eb8846d5cc1a981d267687a729185d3f3 /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.c2m337
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 .