summaryrefslogtreecommitdiff
path: root/Dragon/data/tmacro_proc/TCM58.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/tmacro_proc/TCM58.c2m
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Dragon/data/tmacro_proc/TCM58.c2m')
-rw-r--r--Dragon/data/tmacro_proc/TCM58.c2m190
1 files changed, 190 insertions, 0 deletions
diff --git a/Dragon/data/tmacro_proc/TCM58.c2m b/Dragon/data/tmacro_proc/TCM58.c2m
new file mode 100644
index 0000000..876e0b6
--- /dev/null
+++ b/Dragon/data/tmacro_proc/TCM58.c2m
@@ -0,0 +1,190 @@
+*----
+* TEST CASE TCM58
+* 4-group eighth UOX assembly with AIC in DRAGON
+* Author: A. Hebert
+*
+* Ref: A. Hebert, "High Order Linear Discontinuous and Diamond
+* Differencing Schemes along Cyclic Characteristics,"
+* Nucl. Sci. Eng. 184, 591-603 (2016).
+*----
+*----
+* Define STRUCTURES and MODULES used
+*----
+LINKED_LIST GEON2 MACRO4G TRACKN2 SYS FLUX2 EDIT ;
+MODULE GEO: SNT: ASM: FLU: MAC: EDI: ABORT: UTL: OUT: ERROR: END: ;
+SEQ_ASCII RCOND2 :: FILE './AIC_SN_CCOND2.ref' ;
+REAL erra maxa ;
+PROCEDURE assertS ;
+
+*----
+* Input geometry data
+*----
+*
+REAL mesh1 := 0.37 ;
+REAL mesh2 := mesh1 0.52 + ;
+REAL mesh3 := mesh2 0.74 + ;
+REAL mesh4 := mesh3 0.52 + ;
+REAL mesh5 := mesh4 0.74 + ;
+REAL mesh6 := mesh5 0.52 + ;
+REAL mesh7 := mesh6 0.74 + ;
+REAL mesh8 := mesh7 0.52 + ;
+REAL mesh9 := mesh8 0.74 + ;
+REAL mesh10 := mesh9 0.52 + ;
+REAL mesh11 := mesh10 0.74 + ;
+REAL mesh12 := mesh11 0.52 + ;
+REAL mesh13 := mesh12 0.74 + ;
+REAL mesh14 := mesh13 0.52 + ;
+REAL mesh15 := mesh14 0.74 + ;
+REAL mesh16 := mesh15 0.52 + ;
+REAL mesh17 := mesh16 0.74 + ;
+REAL mesh18 := mesh17 0.26 + ;
+*
+GEON2 := GEO: :: CAR2D 18 18
+ EDIT 0
+ X- DIAG X+ REFL
+ Y- REFL Y+ DIAG
+ MESHX 0.0 <<mesh1>> <<mesh2>> <<mesh3>> <<mesh4>> <<mesh5>> <<mesh6>>
+ <<mesh7>> <<mesh8>> <<mesh9>> <<mesh10>> <<mesh11>> <<mesh12>>
+ <<mesh13>> <<mesh14>> <<mesh15>> <<mesh16>> <<mesh17>>
+ <<mesh18>>
+ MESHY 0.0 <<mesh1>> <<mesh2>> <<mesh3>> <<mesh4>> <<mesh5>> <<mesh6>>
+ <<mesh7>> <<mesh8>> <<mesh9>> <<mesh10>> <<mesh11>> <<mesh12>>
+ <<mesh13>> <<mesh14>> <<mesh15>> <<mesh16>> <<mesh17>>
+ <<mesh18>>
+ SPLITX 2 2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4 1
+ SPLITY 2 2 4 2 4 2 4 2 4 2 4 2 4 2 4 2 4 1
+ MIX
+ 1 1 2 1 2 1 4 1 2 1 2 1 4 1 2 1 3 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 3 1 3 1 2 1 3 1 3 1 2 1 3 1 3 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 3 1 2 1 3 1 3 1 2 1 3 1 3 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 4 1 2 1 2 1 4 1 2 1 3 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 3 1 2 1 2 1 3 1 3 1
+ 1 1 1 1 1 1 1 1 1
+ 4 1 2 1 3 1 3 1
+ 1 1 1 1 1 1 1
+ 3 1 3 1 3 1
+ 1 1 1 1 1
+ 3 1 3 1
+ 1 1 1
+ 3 1
+ 1
+;
+*----
+* Input Macrolib
+*----
+MACRO4G := MAC: ::
+ EDIT 1 NGRO 4 NMIX 4 NIFI 1 ANIS 2
+ READ INPUT
+ MIX 1 (* WATER *)
+ TOTAL 5.316E-01 9.352E-01 9.931E-01 1.5931E+00
+ TRANC 2.880E-01 5.529E-01 4.936E-01 4.4340E-01
+ SCAT 1 1 (*1->1*) 4.973E-01
+ 2 2 (*2->2*) 6.570E-01 (*1->2*) 3.134E-02
+ 4 4 (*4->3*) 1.163E-02 (*3->3*) 7.176E-01 (*2->3*) 2.528E-01
+ (*1->3*) 2.304E-03
+ 4 4 (*4->4*) 1.565E+00 (*3->4*) 2.707E-01 (*2->4*) 2.412E-02
+ (*1->4*) 2.228E-04
+ 1 1 (*1->1*) 2.735E-01
+ 2 2 (*2->2*) 4.253E-01 (*1->2*) 1.410E-02
+ 4 4 (*4->3*) 5.064E-03 (*3->3*) 4.286E-01 (*2->3*) 1.203E-01
+ (*1->3*) 3.050E-04
+ 4 4 (*4->4*) 4.384E-01 (*3->4*) 6.426E-02 (*2->4*) 3.373E-03
+ (*1->4*) 1.245E-05
+ MIX 2 (* FUEL 1 *)
+ TOTAL 4.097E-01 6.286E-01 4.594E-01 7.508E-01
+ TRANC 4.841E-02 7.939E-03 8.080E-03 8.038E-03
+ NUSIGF 1.632E-02 9.259E-02 1.129E-01 6.508E-01
+ CHI 1.000E+00 0.000E+00 0.000E+00 0.000E+00
+ SCAT 1 1 (*1->1*) 3.908E-01
+ 2 2 (*2->2*) 4.407E-01 (*1->2*) 8.546E-04
+ 3 4 (*4->3*) 5.318E-03 (*3->3*) 3.785E-01 (*2->3*) 8.057E-03
+ 2 4 (*4->4*) 3.983E-01 (*3->4*) 1.203E-02
+ 1 1 (*1->1*) 4.793E-02
+ 2 2 (*2->2*) 5.419E-03 (*1->2*) -2.640E-04
+ 3 4 (*4->3*) -7.338E-04 (*3->3*) 9.014E-03 (*2->3*) -2.453E-03
+ 2 4 (*4->4*) 8.769E-03 (*3->4*) -2.572E-03
+ MIX 3 (* FUEL 2 *)
+ TOTAL 4.072E-01 6.223E-01 4.599E-01 7.504E-01
+ TRANC 4.927E-02 7.872E-03 8.166E-03 8.040E-03
+ NUSIGF 1.652E-02 9.136E-02 1.143E-01 6.500E-01
+ CHI 1.000E+00 0.000E+00 0.000E+00 0.000E+00
+ SCAT 1 1 (*1->1*) 3.885E-01
+ 2 2 (*2->2*) 4.387E-01 (*1->2*) 8.562E-04
+ 3 4 (*4->3*) 5.236E-03 (*3->3*) 3.780E-01 (*2->3*) 8.591E-03
+ 2 4 (*4->4*) 3.984E-01 (*3->4*) 1.229E-02
+ 1 1 (*1->1*) 4.981E-02
+ 2 2 (*2->2*) 3.100E-03 (*1->2*) -2.624E-04
+ 3 4 (*4->3*) -7.231E-04 (*3->3*) 1.142E-02 (*2->3*) -2.610E-03
+ 2 4 (*4->4*) 8.764E-03 (*3->4*) -2.604E-03
+ MIX 4 (* AIC *)
+ TOTAL 4.240E-01 1.0476E+00 2.7503E+00 1.1194E+01
+ TRANC 0.000E+00 0.000E+00 0.000E+00 0.000E+00
+ SCAT 1 1 (*1->1*) 3.738E-01
+ 2 2 (*2->2*) 4.102E-01 (*1->2*) 2.439E-04
+ 3 4 (*4->3*) 4.985E-03 (*3->3*) 4.956E-01 (*2->3*) 7.370E-04
+ 2 4 (*4->4*) 2.996E-01 (*3->4*) 3.248E-03
+ 1 1 (*1->1*) 0.000E+00
+ 1 2 (*2->2*) -6.161E-02
+ 1 3 (*3->3*) -2.326E-01
+ 1 4 (*4->4*) 0.000E+00
+;
+
+TRACKN2 := SNT: GEON2 ::
+ TITLE 'SECOND LEVEL TRACKING'
+ EDIT 2 MAXR 25000 DIAM 0 SN 16 SCAT 2
+ MAXI 50 EPSI 1.E-5 GMRES 10
+ QUAD 2 (*level symmetric*) ;
+
+SYS := ASM: MACRO4G TRACKN2 :: ARM EDIT 1 ;
+
+FLUX2 := FLU: MACRO4G SYS TRACKN2 ::
+ EDIT 1 TYPE K EXTE 100 1E-5 ;
+assertS FLUX2 :: 'K-EFFECTIVE' 1 0.9171573 ;
+
+EDIT := OUT: FLUX2 TRACKN2 MACRO4G GEON2 ::
+ EDIT 2 INTG
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
+ 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
+ 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
+ 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
+ 67 68 69 70 71 72 73 74 75 76 77 78 79 80
+ 81 82 83 84 85 86 87 88 89 90 91 92 93
+ 94 95 96 97 98 99 100 101 102 103 104 105
+ 106 107 108 109 110 111 112 113 114 115 116
+ 117 118 119 120 121 122 123 124 125 126
+ 127 128 129 130 131 132 133 134 135
+ 136 137 138 139 140 141 142 143
+ 144 145 146 147 148 149 150
+ 151 152 153 154 155 156
+ 157 158 159 160 161
+ 162 163 164 165
+ 166 167 168
+ 169 170
+ 171
+ ;
+UTL: EDIT :: DIR IMPR STATE-VECTOR * ;
+
+ERROR: RCOND2 EDIT :: PICK ERASUM >>erra<< ERAMAX >>maxa<< ;
+ECHO "erra=" erra "maxa=" maxa ;
+
+*----
+* Assert statistic on erra
+*----
+REAL REFVALUE := 0.2793 ;
+REAL DELTA := erra REFVALUE - REFVALUE / ABS ;
+IF DELTA 1.0E-2 < THEN
+ ECHO "TEST SUCCESSFUL; DELTA=" DELTA ;
+ELSE
+ ECHO "------------" ;
+ ECHO "TEST FAILURE" ;
+ ECHO "------------" ;
+ ECHO "REFERENCE=" REFVALUE " CALCULATED=" erra ;
+ ABORT: ;
+ENDIF ;
+
+ECHO "test TCM58 completed" ;
+END: ;