summaryrefslogtreecommitdiff
path: root/Dragon/data/tmacro_proc/TCM10.c2m
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" .