blob: 022f321e29ddcf7534f95767a9b045040364d2ce (
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
|
*
* TEST CASE TCM10
* MACROSCOPIC CROSS SECTIONS
* FIXED SOURCE PROBLEM
* CARTESIAN 2 X 2 ASSEMBLY
* TSAI-LOYALKA SEMI-INFINITE PROBLEM
*
* REF: R. Roy, "The Cyclic Characteristics Method,"
* Int. Conf. Physics of Nuclear Science and Technology,
* Long Island, NY, October 1998, pp. 407-414.
*
LINKED_LIST LOYA LOY25 TRACK FLUX EDITION
MACRO SYS MACRO100 MACRO050 MACRO010 MACRO005 MACRO000 ;
SEQ_BINARY LOYATRK ;
STRING PolarAng := "CACB" ;
MODULE GEO: EXCELT: MCCGT: MAC: ASM: FLU: EDI: DELETE: END: ;
PROCEDURE assertV ;
INTEGER i n := 1 1 ;
*
* MACROSCOPIC CROSS SECTIONS
MACRO100 := MAC: ::
NGRO 1 NMIX 2
READ INPUT
MIX 1 TOTAL 1.0 SCAT 1 1 1.00 FIXE 1.0
MIX 2 TOTAL 1.0 SCAT 1 1 1.00 ;
MACRO050 := MAC: ::
NGRO 1 NMIX 2
READ INPUT
MIX 1 TOTAL 1.0 SCAT 1 1 0.50 FIXE 1.0
MIX 2 TOTAL 1.0 SCAT 1 1 0.50 ;
MACRO010 := MAC: ::
NGRO 1 NMIX 2
READ INPUT
MIX 1 TOTAL 1.0 SCAT 1 1 0.10 FIXE 1.0
MIX 2 TOTAL 1.0 SCAT 1 1 0.10 ;
MACRO005 := MAC: ::
NGRO 1 NMIX 2
READ INPUT
MIX 1 TOTAL 1.0 SCAT 1 1 0.05 FIXE 1.0
MIX 2 TOTAL 1.0 SCAT 1 1 0.05 ;
MACRO000 := MAC: ::
NGRO 1 NMIX 2
READ INPUT
MIX 1 TOTAL 1.0 SCAT 1 1 0.00 FIXE 1.0
MIX 2 TOTAL 1.0 SCAT 1 1 0.00 ;
* GEOMETRIES ENTERED WITH SYMMETRIES
* LOYA - 2 X 2 REGIONS
* LOY25 - 25 X 25 REGIONS
LOYA := GEO: :: CAR2D 2 2
X- REFL X+ VOID
MESHX 0.00 0.52 1.00
Y- REFL Y+ REFL
MESHY 0.00 0.52 1.00
MIX 1 2
2 2 ;
LOY25 := GEO: LOYA ::
SPLITX 13 12
SPLITY 13 12 ;
* SOLUTION FOR LOY25
TRACK LOYATRK := EXCELT: LOY25 ::
TITLE 'TCM10: LOYANABE-MAYNARD 24X24 '
MAXR 625
TRAK TSPC 12 100.0 ;
TRACK := MCCGT: TRACK LOYATRK ::
EDIT 1 <<PolarAng>> 2
AAC 1 TMT SCR 0 EPSI 1E-5
MAXI 100 KRYL 30 HDD 0.0 ;
REPEAT
IF i 1 = THEN
MACRO := MACRO100 ;
ELSEIF i 2 = THEN
MACRO := MACRO050 ;
ELSEIF i 3 = THEN
MACRO := MACRO010 ;
ELSEIF i 4 = THEN
MACRO := MACRO005 ;
ELSEIF i 5 = THEN
MACRO := MACRO000 ;
ENDIF ;
SYS := ASM: MACRO TRACK LOYATRK ::
EDIT 2 ARM ;
FLUX := FLU: MACRO TRACK SYS LOYATRK ::
TYPE S ;
* SOLUTION FOR LOY25
* FLUX AT X=Y= 0.50, 0.70 AND 0.98
* SEE TABLE 2. (ref. p. 412)
EDITION := EDI: FLUX MACRO TRACK ::
EDIT 2 SAVE
MERGE REGION
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3
;
IF i 1 = THEN
assertV FLUX :: 'FLUX' (*GROUP*) 1 (*REGION*) 30 1.708198 ;
ELSEIF i 2 = THEN
assertV FLUX :: 'FLUX' (*GROUP*) 1 (*REGION*) 30 0.7793926 ;
ELSEIF i 3 = THEN
assertV FLUX :: 'FLUX' (*GROUP*) 1 (*REGION*) 30 0.5732016 ;
ELSEIF i 4 = THEN
assertV FLUX :: 'FLUX' (*GROUP*) 1 (*REGION*) 30 0.5556656 ;
ELSEIF i 5 = THEN
assertV FLUX :: 'FLUX' (*GROUP*) 1 (*REGION*) 30 0.5392905 ;
ENDIF ;
SYS FLUX MACRO EDITION := DELETE: SYS FLUX MACRO EDITION ;
EVALUATE i := i 1 + ;
UNTIL i 6 = ;
LOYATRK := DELETE: LOYATRK ;
ECHO "test TCM10 completed" ;
END: ;
QUIT "LIST" .
|