blob: 97f14f9cda6e96b45cc4ea024d957af7481d19c5 (
plain)
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
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
|
*DECK GeoLZC.c2m
*----------
* Name : GeoLZC.c2m
* Mesh : DRAGON procedure
* Use : LZC geometry
* for G2 (cluster model)
* Author : G. Marleau
* Date : 2006/05/05
*
* Procedure description:
* Geometry := GeoLZC ::
* <<PrtLev>> <<Type>> <<Mesh>>
* <<NbAngles>> <<Density>> ;
*
* Procedure parameters:
* Geometry : XSM_FILE containing the LZC geometry
* for G2
* PrtLev : Print Level
* 0 -> Minimum print
* 1 -> Standard print
* 10 -> Debug
* Type : Geometry type
* 'XY' -> 2-D projection of geometry in XY plane
* 'XZ' -> 2-D projection of geometry in XZ plane
* '3D' -> 3-D geometry (default value if Type
* is not known)
* Mesh : Geometry Mesh
* Coarse -> Corase mesh 3-D geometry
* Fine -> Fine mesh 3-D geometry (default)
* NbAngles : Suggested angular quadrature for tracking
* Density : Suggested line density for tracking
*
*----------
* Define procedure parameters and options and read
* the procedure input data
*----
PARAMETER Geometry :: EDIT 0 ::: XSM_FILE Geometry ; ;
STRING Type Mesh ;
INTEGER PrtLev NbAngles ;
REAL Density ;
:: >>PrtLev<< >>Type<< >>Mesh<< ;
*----
* Local procedures and modules used in this procedure
*----
PROCEDURE DimFuel DimCell DimLZC ;
MODULE GEO: END: ;
*----
* Get overall cell dimensions using procedure DimCell
*----
REAL rcool4 rpt rgap rct LPitch BLength ;
DimCell ::
>>rcool4<< >>rpt<< >>rgap<< >>rct<< >>LPitch<< >>BLength<< ;
IF PrtLev 9 > THEN
ECHO "Overall cell dimensions" ;
ECHO rcool4 rpt rgap rct LPitch BLength ;
ENDIF ;
*----
* Get ring by ring description of fuel using procedure DimFuel
*----
INTEGER Ring ;
INTEGER npinp1 npinp2 npinp3 npinp4 ;
REAL rradf1 rrads1 rpinp1 apinp1 ;
REAL rradf2 rrads2 rpinp2 apinp2 ;
REAL rradf3 rrads3 rpinp3 apinp3 ;
REAL rradf4 rrads4 rpinp4 apinp4 ;
EVALUATE Ring := 1 ;
DimFuel :: <<Ring>>
>>npinp1<< >>rpinp1<< >>apinp1<< >>rradf1<< >>rrads1<< ;
EVALUATE Ring := 2 ;
DimFuel :: <<Ring>>
>>npinp2<< >>rpinp2<< >>apinp2<< >>rradf2<< >>rrads2<< ;
EVALUATE Ring := 3 ;
DimFuel :: <<Ring>>
>>npinp3<< >>rpinp3<< >>apinp3<< >>rradf3<< >>rrads3<< ;
EVALUATE Ring := 4 ;
DimFuel :: <<Ring>>
>>npinp4<< >>rpinp4<< >>apinp4<< >>rradf4<< >>rrads4<< ;
IF PrtLev 9 > THEN
ECHO "Fuel rings 1 to 4" ;
ECHO npinp1 npinp2 npinp3 npinp4 ;
ECHO rradf1 rrads1 rpinp1 apinp1 ;
ECHO rradf2 rrads2 rpinp2 apinp2 ;
ECHO rradf3 rrads3 rpinp3 apinp3 ;
ECHO rradf4 rrads4 rpinp4 apinp4 ;
ENDIF ;
*----
* Get LZC using procedure DimLZC
*----
REAL RinnGT RoutGT
RinnBa RoutBa
RinnFe RoutFe
RinnBu RoutBu
RinnSc RoutSc
Rcent ;
DimLZC ::
>>RinnGT<< >>RoutGT<<
>>RinnBa<< >>RoutBa<<
>>RinnFe<< >>RoutFe<<
>>RinnBu<< >>RoutBu<<
>>RinnSc<< >>RoutSc<<
>>Rcent<< ;
IF PrtLev 9 > THEN
ECHO "LZC dimensions" ;
ECHO "Guide tube " RinnGT RoutGT ;
ECHO "Feeder tubes " RinnBa RoutBa RinnFe RoutFe ;
ECHO "Scavenger tubes " RinnBu RoutBu RinnSc RoutSc ;
ECHO "LZC location " Rcent ;
ENDIF ;
*----
* Evaluate derived dimensions for supercell description
*----
REAL HLPitch := LPitch 2.0 / ;
REAL HBLength := BLength 2.0 / ;
REAL LimCoCell := HLPitch rct - RoutGT + 2.0 / ;
REAL IntFCell := LPitch LimCoCell - ;
REAL IntYCell := HLPitch LimCoCell - ;
REAL OffsetXL OffsetXR := LimCoCell 2.0 / LimCoCell -2.0 / ;
* Left and right fuel cell X position
REAL XLFmin XLFint XLFcent XLFmax
XRFmin XRFint XRFcent XRFmax :=
LPitch -1.0 * IntFCell -1.0 * HLPitch -1.0 * LimCoCell -1.0 *
LimCoCell IntFCell HLPitch LPitch ;
* Cell Y position
REAL YFmin YFintb YFcent YFintt YFmax :=
XLFcent IntYCell -1.0 * 0.0 IntYCell XRFcent ;
* Z position
REAL ZFmin ZFintf ZFcent ZFintb ZFmax :=
HBLength -1.0 * XLFmax 0.0 XRFmin HBLength ;
IF PrtLev 9 > THEN
ECHO "Derived dimensions for supercell" ;
ECHO HLPitch HBLength LimCoCell IntFCell OffsetXL OffsetXR ;
ECHO XLFmin XLFint XLFcent XLFmax ;
ECHO XRFmin XRFint XRFcent XRFmax ;
ECHO YFmin YFintb YFcent YFintt YFmax ;
ECHO ZFmin ZFintf ZFcent ZFintb ZFmax ;
ENDIF ;
*----
* Derived dimensions for fuel
*----
REAL eps1 := 0.1 ;
REAL rcool1 rcool2 rcool3 :=
rrads1 eps1 + rpinp2 rrads2 - + 2.0 /
rpinp2 rrads2 + rpinp3 rrads3 - + 2.0 /
rpinp3 rrads3 + rpinp4 rrads4 - + 2.0 / ;
REAL rmod := HLPitch LimCoCell - eps1 - ;
IF PrtLev 9 > THEN
ECHO "Derived dimensions for fuel" ;
ECHO eps1 rcool1 rcool2 rcool3 rmod ;
ENDIF ;
*----
* Define mixtures
*----
INTEGER mcL1 mpt mgap mct mmod := 1 2 3 4 5 ;
INTEGER mfL1 mfL2 mfL3 mfL4 := 6 7 8 9 ;
INTEGER mfR1 mfR2 mfR3 mfR4 := 10 11 12 13 ;
INTEGER ms := 14 ;
INTEGER mfill mgt := 15 16 ;
INTEGER ms11 ms12 ms13 ms14 :=
17 18 19 20 ;
INTEGER ms21 ms22 ms23 ms24 :=
ms11 4 + ms12 4 + ms13 4 + ms14 4 + ;
INTEGER ms31 ms32 ms33 ms34 :=
ms11 8 + ms12 8 + ms13 8 + ms14 8 + ;
INTEGER mf11 mf12 mf13 mf14 :=
ms11 12 + ms12 12 + ms13 12 + ms14 12 + ;
INTEGER mf21 mf22 mf23 mf24 :=
ms11 16 + ms12 16 + ms13 16 + ms14 16 + ;
REAL PIO2 PIO6 := $Pi_R 2.0 / $Pi_R 6.0 / ;
REAL ApinZs1 ApinZs2 ApinZs3
ApinZf1 ApinZf2 :=
0.0 PIO6 4.0 * PIO6 8.0 *
PIO6 2.0 * PIO6 6.0 * ;
REAL ApinXs1 ApinXs2 ApinXs3
ApinXf1 ApinXf2 :=
PIO2 ApinZs1 - PIO2 ApinZs2 - PIO2 ApinZs3 -
PIO2 ApinZf1 - PIO2 ApinZf2 - ;
ECHO ApinZs1 ApinZs2 ApinZs3 ApinZf1 ApinZf2 ;
IF PrtLev 9 > THEN
ECHO "Mixtures for coolant, PT, gap, CT and moderator" ;
ECHO mcL1 mpt mgap mct mmod ;
ECHO "Mixtures for left fuel in each ring and for sheathing" ;
ECHO mfL1 mfL2 mfL3 mfL4 ms ;
ECHO "Mixtures for right fuel in each ring and for sheathing" ;
ECHO mfR1 mfR2 mfR3 mfR4 ms ;
ECHO "Mixtures for scavenger tube 1" ;
ECHO ms11 ms12 ms13 ms14 ;
ECHO "Mixtures for scavenger tube 2" ;
ECHO ms21 ms22 ms23 ms24 ;
ECHO "Mixtures for scavenger tube 3" ;
ECHO ms31 ms32 ms33 ms34 ;
ECHO "Mixtures for feeder tube 1" ;
ECHO mf11 mf12 mf13 mf14 ;
ECHO "Mixtures for feeder tube 12" ;
ECHO mf11 mf22 mf23 mf24 ;
ENDIF ;
*----
* Geometry
*----
IF Mesh "Coarse" = THEN
*----
* Coarse mesh geometry
*----
Geometry := GEO: :: CAR2D 1 1
X- REFL X+ SYME Y- REFL Y+ SYME
CELL FuelG
*----
* Fuel on the left
*----
::: FuelG := GEO: CARCEL 7 1 1
MESHX <<YFmin>> <<YFmax>>
MESHY <<YFmin>> <<YFmax>>
RADIUS 0.00000 <<rcool1>> <<rcool2>>
<<rcool3>> <<rcool4>> <<rpt>>
<<rgap>> <<rct>>
MIX <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>>
CLUSTER ROD1 ROD2 ROD3 ROD4
::: ROD1 := GEO: TUBE 2
NPIN <<npinp1>> RPIN <<rpinp1>> APIN <<apinp1>>
RADIUS 0.00000 <<rradf1>> <<rrads1>>
MIX <<mfL1>> <<ms>> ;
::: ROD2 := GEO: TUBE 2
NPIN <<npinp2>> RPIN <<rpinp2>> APIN <<apinp2>>
RADIUS 0.00000 <<rradf2>> <<rrads2>>
MIX <<mfL2>> <<ms>> ;
::: ROD3 := GEO: TUBE 2
NPIN <<npinp3>> RPIN <<rpinp3>> APIN <<apinp3>>
RADIUS 0.00000 <<rradf3>> <<rrads3>>
MIX <<mfL3>> <<ms>> ;
::: ROD4 := GEO: TUBE 2
NPIN <<npinp4>> RPIN <<rpinp4>> APIN <<apinp4>>
RADIUS 0.00000 <<rradf4>> <<rrads4>>
MIX <<mfL4>> <<ms>> ;
;
;
EVALUATE NbAngles Density := 15 30.0 ;
ELSE
*----
* Fine mesh geometry (default)
*----
Geometry := GEO: :: CAR2D 1 1
X- REFL X+ REFL Y- REFL Y+ REFL
CELL FuelG
*----
* Fuel on the left
*----
::: FuelG := GEO: CARCEL 8 4 4
MESHX <<YFmin>> <<YFintb>> <<YFcent>> <<YFintt>> <<YFmax>>
MESHY <<YFmin>> <<YFintb>> <<YFcent>> <<YFintt>> <<YFmax>>
RADIUS 0.00000 <<rcool1>> <<rcool2>>
<<rcool3>> <<rcool4>> <<rpt>>
<<rgap>> <<rct>> <<rmod>>
MIX <<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
<<mcL1>> <<mcL1>> <<mcL1>> <<mcL1>>
<<mpt>> <<mgap>> <<mct>> <<mmod>> <<mmod>>
CLUSTER ROD1 ROD2 ROD3 ROD4
::: ROD1 := GEO: TUBE 2
NPIN <<npinp1>> RPIN <<rpinp1>> APIN <<apinp1>>
RADIUS 0.00000 <<rradf1>> <<rrads1>> SPLITR -3 1
MIX <<mfL1>> <<ms>> ;
::: ROD2 := GEO: TUBE 2
NPIN <<npinp2>> RPIN <<rpinp2>> APIN <<apinp2>>
RADIUS 0.00000 <<rradf2>> <<rrads2>> SPLITR -3 1
MIX <<mfL2>> <<ms>> ;
::: ROD3 := GEO: TUBE 2
NPIN <<npinp3>> RPIN <<rpinp3>> APIN <<apinp3>>
RADIUS 0.00000 <<rradf3>> <<rrads3>> SPLITR -3 1
MIX <<mfL3>> <<ms>> ;
::: ROD4 := GEO: TUBE 2
NPIN <<npinp4>> RPIN <<rpinp4>> APIN <<apinp4>>
RADIUS 0.00000 <<rradf4>> <<rrads4>> SPLITR -3 1
MIX <<mfL4>> <<ms>> ;
;
;
EVALUATE NbAngles Density := 15 30.0 ;
ENDIF ;
:: <<NbAngles>> <<Density>> ;
END: ;
QUIT "LIST" .
|