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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
*----
* TEST CASE TDCM66
* MACROSCOPIC CROSS SECTIONS
* BWR SELF-SHIELDING CASE WITH MULTICELL SURFACIC APPROXIMATION
*----
* Define STRUCTURES and MODULES used
*----
LINKED_LIST GEOMSSH TRKSSH MACRO PIJ FLUX ;
SEQ_ASCII Fic_SAL :: FILE './Fic_SAL_TDCM66.tdt' ;
SEQ_ASCII Fic_EPS.eps :: FILE './Fic_EPS_TDCM66.eps' ;
SEQ_BINARY TRKSSH_FIL ;
MODULE MAC: GEO: G2S: SALT: ASM: FLU: GREP: DELETE: END: ;
REAL keff ;
PROCEDURE assertS ;
INTEGER an2d := 8 ;
REAL densur := 10.0 ;
**************************************************
* GEOMETRY DEFINITIONS
**************************************************
* Geometrical data
* Assembly pitch
REAL Pitch_A := 15.24 ; ! cm
REAL Pitch_A2 := Pitch_A 2.0 / ; ! cm
* 1/2 thickness of water gap (between x=0 and channel box)
REAL w_gap := 0.846 ; ! cm
* channel box thickness
REAL chan_thi := 0.254 ; ! cm
REAL xlim := chan_thi w_gap + ; ! cm, x limit of the geometry in frame of R1/R2/TC
* cell pitch
REAL Pitch_C := 1.63 ; ! cm
REAL 2_Pitch_C := Pitch_C 2.0 * ; ! cm
REAL 3_Pitch_C := Pitch_C 3.0 * ; ! cm
REAL 4_Pitch_C := Pitch_C 4.0 * ; ! cm
* Fuel rod radius
REAL fuelRad := 0.529 ; ! cm
* Santamarina radii for UOX cells : 4 subdivisions amouting for 50, 80, 95 and 100% of the fuel rod volume
REAL fRad1 fRad2 fRad3 := 0.374 0.473 0.516 ;
* Santamarina radii for Gd cells : 6 subdivisions amouting for 20, 40, 60, 80, 95 and 100% of the fuel rod volume
REAL fRadGd1 fRadGd2 fRadGd3 fRadGd4 fRadGd5 := 0.237 0.335 0.409 0.473 0.516 ;
* Clad radius
REAL cladRad := 0.615 ; ! cm
* outer water rod radius
REAL waterRad_o := 1.6 ; ! cm
* inner water rod radius
REAL waterRad_i := 1.5 ; ! cm
REAL disp_wr := Pitch_C 2.0 / -1.0 * ; ! cm, displacement of water rod with respect to center of its bounding CARCEL
*** 8th symmetry : SYME at -Y, DIAG at -X, +Y and REFL at +X
* MIX NUMBERING :
* mix variables are identified by a "position number" and a "rod id" ie composition number.
* According to Ref. the numbering goes 01_04, 02_03, 03_02, 04_02,
* 05_02, 06_Gd, 07_01,
* 08_01, 09_01,
* WR,
* This coresponds to the upper diagonal of the top left corner of the assembly.
* Using symmetries, the lower diagonal of the upper right corner is deduced and defined here.
* Numbering of fuel rods is done according to the following scheme :
* F<pos_id><rod_id><ring_id>
! fuel, position 01 (symmetrical equivalent), composition 04, ring number
INTEGER F010401 F010402 F010403 F010404 := 1 1 1 1 ;
INTEGER F020301 F020302 F020303 F020304 := 1 1 1 1 ; ! fuel, position 02, composition 03
INTEGER F030201 F030202 F030203 F030204 := 1 1 1 1 ; ! fuel, position 03, composition 02
INTEGER F040201 F040202 F040203 F040204 := 1 1 1 1 ; ! fuel, position 04, composition 02
INTEGER F050201 F050202 F050203 F050204 := 1 1 1 1 ; ! fuel, position 05, composition 02
INTEGER F06Gd01 F06Gd02 F06Gd03 F06Gd04 F06Gd05 F06Gd06 := 2 2 2 2 2 2 ; ! fuel, position 06, composition Gd
INTEGER F070101 F070102 F070103 F070104 := 1 1 1 1 ; ! fuel, position 07, composition 01
INTEGER F080101 F080102 F080103 F080104 := 1 1 1 1 ; ! fuel, position 08, composition 01
INTEGER F090101 F090102 F090103 F090104 := 1 1 1 1 ; ! fuel, position 09, composition 01
INTEGER CLAD := 3 ; ! clad, composition 10
INTEGER MODE := 4 ; ! moderating water, composition 11 : in water rod and out-of-assembly water
INTEGER COOL := 4 ; ! coolant water, composition 12 : in assembly water
INTEGER WROD := 3 ; ! cladding of water rod, composition 13
INTEGER BOX := 3 ; ! channel box, composition 14
GEOMSSH := GEO: :: CAR2D 3 3
EDIT 1
X- DIAG X+ ALBE 1.0
Y- ALBE 1.0 Y+ DIAG
MIX WR LAT1 R1
LAT2 R2
TC
MESHX 0.0 <<Pitch_C>> <<4_Pitch_C>> <<Pitch_A2>>
MESHX 0.0 <<Pitch_C>> <<4_Pitch_C>> <<Pitch_A2>>
::: WR := GEO: CARCEL 2
MESHX 0.0 <<Pitch_C>>
MESHY 0.0 <<Pitch_C>>
RADIUS 0.0 <<waterRad_i>> <<waterRad_o>>
OFFCENTER <<disp_wr>> <<disp_wr>>
MIX <<MODE>> <<WROD>> <<COOL>> ! water, clad, intra-assembly water
;
::: LAT1 := GEO: CAR2D 3 1
MESHX 0.0 <<Pitch_C>> <<2_Pitch_C>> <<3_Pitch_C>>
MESHY 0.0 <<Pitch_C>>
MIX C91 C71 C42
::: C91 := GEO: CARCEL 5
MESHX 0.0 <<Pitch_C>>
MESHY 0.0 <<Pitch_C>>
RADIUS 0.0 <<fRad1>> <<fRad2>> <<fRad3>> <<fuelRad>> <<cladRad>>
MIX <<F090101>> <<F090102>> <<F090103>> <<F090104>> <<CLAD>> <<COOL>>
! fuel, clad, intra-assembly water
;
::: C71 := GEO: C91 MIX <<F070101>> <<F070102>> <<F070103>> <<F070104>> <<CLAD>> <<COOL>> ;
::: C42 := GEO: C91 MIX <<F040201>> <<F040202>> <<F040203>> <<F040204>> <<CLAD>> <<COOL>> ;
;
::: LAT2 := GEO: CAR2D 3 3
MESHX 0.0 <<Pitch_C>> <<2_Pitch_C>> <<3_Pitch_C>>
MESHY 0.0 <<Pitch_C>> <<2_Pitch_C>> <<3_Pitch_C>>
MIX C81 C6G C32
C6G C52 C23
C32 C23 C14
::: C81 := GEO: CARCEL 5
MESHX 0.0 <<Pitch_C>>
MESHY 0.0 <<Pitch_C>>
RADIUS 0.0 <<fRad1>> <<fRad2>> <<fRad3>> <<fuelRad>> <<cladRad>>
MIX <<F080101>> <<F080102>> <<F080103>> <<F080104>> <<CLAD>> <<COOL>>
! fuel, clad, intra-assembly water
;
::: C32 := GEO: C81 MIX <<F030201>> <<F030202>> <<F030203>> <<F030204>> <<CLAD>> <<COOL>> ;
::: C52 := GEO: C81 MIX <<F050201>> <<F050202>> <<F050203>> <<F050204>> <<CLAD>> <<COOL>> ;
::: C23 := GEO: C81 MIX <<F020301>> <<F020302>> <<F020303>> <<F020304>> <<CLAD>> <<COOL>> ;
::: C14 := GEO: C81 MIX <<F010401>> <<F010402>> <<F010403>> <<F010404>> <<CLAD>> <<COOL>> ;
::: C6G := GEO: CARCEL 7
MESHX 0.0 <<Pitch_C>>
MESHY 0.0 <<Pitch_C>>
RADIUS 0.0 <<fRadGd1>> <<fRadGd2>> <<fRadGd3>> <<fRadGd4>> <<fRadGd5>> <<fuelRad>> <<cladRad>>
MIX <<F06Gd01>> <<F06Gd02>> <<F06Gd03>> <<F06Gd04>> <<F06Gd05>> <<F06Gd06>> <<CLAD>> <<COOL>>
! Gd fuel, clad, intra-assembly water
;
;
::: R1 := GEO: CAR2D 2 1
MESHX 0.0 <<chan_thi>> <<xlim>>
MESHY 0.0 <<Pitch_C>>
MIX <<BOX>> <<MODE>> ! channel box, out-of-assembly water
;
::: R2 := GEO: CAR2D 2 1
MESHX 0.0 <<chan_thi>> <<xlim>>
MESHY 0.0 <<3_Pitch_C>>
SPLITY 3
MIX <<BOX>> <<MODE>> ! channel box, out-of-assembly water
;
::: TC := GEO: CAR2D 2 2
MESHX 0.0 <<chan_thi>> <<xlim>>
MESHY 0.0 <<chan_thi>> <<xlim>>
MIX <<BOX>> <<MODE>> <<MODE>> <<MODE>> ! channel box corner surrounded by out-of-assembly water
;
;
* SURFACIC EXPANSION AND TRACKING
Fic_SAL Fic_EPS.eps := G2S: GEOMSSH :: MACRO ;
TRKSSH TRKSSH_FIL := SALT: Fic_SAL ::
EDIT 2
TITLE "MULTICELL SURFACIC BWR CASE"
TISO 8 40.0
IC EPSJ 1.0E-5
;
* MACROLIB DEFINITION
MACRO := MAC: ::
EDIT 2 NGRO 1 NMIX 4 NIFI 1
READ INPUT
MIX 1 (*UOX*)
TOTAL 0.3652 SCAT 1 1 0.3234
NUSIGF 0.07664 CHI 1.0
MIX 2 (*UOX+GD*)
TOTAL 0.5652 SCAT 1 1 0.3234
NUSIGF 0.05564 CHI 1.0
MIX 3 (*CLAD*)
TOTAL 0.4029 SCAT 1 1 0.4000
MIX 4 (*WATER*)
TOTAL 0.3683 SCAT 1 1 0.3661
;
* FULL PIJ MATRIX RECONSTRUCTION
PIJ := ASM: MACRO TRKSSH TRKSSH_FIL :: PIJ EDIT 2 ;
FLUX := FLU: PIJ MACRO TRKSSH :: TYPE K ;
GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 1 1 >>keff<< ;
PIJ FLUX := DELETE: PIJ FLUX ;
* FLUX-CURRENT ITERATION WITHOUT FULL PIJ MATRIX RECONSTRUCTION
PIJ := ASM: MACRO TRKSSH TRKSSH_FIL :: ARM EDIT 2 ;
FLUX := FLU: PIJ MACRO TRKSSH :: TYPE K ;
assertS FLUX :: 'K-EFFECTIVE' 1 <<keff>> ;
assertS FLUX :: 'K-EFFECTIVE' 1 1.013490 ;
PIJ FLUX := DELETE: PIJ FLUX ;
ECHO "keff=" keff ;
ECHO "test TDCM66 completed" ;
END: ;
|