summaryrefslogtreecommitdiff
path: root/Dragon/data/lumpSS.x2m
blob: b070c3a91fc7afa586261f989dcbe410dec7063c (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
*----
*
*  TEST CASE lumpSS
*  DISTRIBUTED SELF-SHIELDING ON LUMPED ASSEMBLIES
*  295-GROUP JEFF3.1.1 DRAGLIB
*
*  Author: A. Hebert
*
*----
*  Define STRUCTURES and MODULES used
*----
LINKED_LIST GEOM1 GEOM2 GEOM12 TRACK_SS1 TRACK_SS2 TRACK_2L LIBRARY LIBRARY2A LIBRARY2B
            LIBRARY2 ASB FLUX EDIBU BURNUP MCOMPO StepList ;
MODULE LIB: GEO: SYBILT: ASM: FLU: COMPO: EDI: EVO: UTL: GREP: DELETE: END: ;
PROCEDURE assertS ;
PROCEDURE mixA1_lumpSS ;
REAL P_Zr90     P_Zr91     P_Zr92    P_Zr94    P_Zr96    :=
     51.45E-02  11.22E-02  17.15E-02 17.38E-02 2.80E-02  ;
REAL N_Zr0 := 4.3241E-2 ;
REAL N_Zr90       N_Zr91       N_Zr92       N_Zr94       N_Zr96    :=
     N_Zr0 P_Zr90 *  N_Zr0 P_Zr91 *  N_Zr0 P_Zr92 *  N_Zr0 P_Zr94 *
     N_Zr0 P_Zr96 *  ;
 
************************************************************************
*  BEGIN DECLARATION                                                   *
************************************************************************
INTEGER maxstep := 3 ;
StepList := UTL: ::
    CREA
           ListBU <<maxstep>> =
             0.0      10.0      30.0
    ;
INTEGER maxautop := 1 ;
StepList := UTL: StepList ::
    CREA
          ListAutop <<maxautop>> =
          30.0
    ;
************************************************************************
*  END DECLARATION                                                     *
************************************************************************

************************************************************************
*  COMPO INITIALIZATION                                                *
************************************************************************
MCOMPO := COMPO: ::
    EDIT 10
    STEP UP 'EDIBU_HOM'
     MAXCAL 5
     COMM 'Evolution burnup - Condensed - Assembly scale homogenized' ENDC
     PARA 'Burnup' IRRA
     ISOT 11 U235 U236 U238 Pu239 Pu240 Pu241 Pu242 Gd155 Gd157 Xe135 Sm149
    INIT
;

************************************************************************
*  DRAGLIB PROCESSING                                                  *
************************************************************************
LIBRARY := LIB: ::
 EDIT 1
 NMIX 11   (*MAXIMUM OF MATERIAL MIXTURES*)
 CTRA APOL (*APOLLO TYPE TRANSPORT CORRECTION*)
 ANIS 2    (*PROCESS SCATTERING DATA TO P1 ORDER*)
 PT        (*CALENDF TYPE PROBABILITY TABLES*)
*
 DEPL LIB: DRAGON FIL: DLIB_295
 MIXS LIB: DRAGON FIL: DLIB_295
 MIX 1 293.0
    O16     = O16    4.6624E-2
    U235    = U235   7.0803E-4 1
    U238    = U238   2.2604E-2 1
    Pu239   = Pu239  1.0000E-9 1
 MIX 2 COMB 1 1.0
 MIX 3 COMB 1 1.0
 MIX 4 COMB 1 1.0
 MIX 5 293.0
    Zr90    = Zr90   <<N_Zr90>> 2 IRSET PT NONE
    Zr91    = Zr91   <<N_Zr91>> 2 IRSET PT NONE
    Zr92    = Zr92   <<N_Zr92>> 2 IRSET PT NONE
    Zr94    = Zr94   <<N_Zr94>>
    Zr96    = Zr96   <<N_Zr96>>
 MIX 6 293.0 NOEV
    H1      = H1_H2O 4.6892E-2
    O16     = O16    2.3446E-2
 MIX 7 293.0
    O16     = O16    4.6624E-2
    U235    = U235   7.0803E-4 1
    U238    = U238   2.2604E-2 1
    Pu239   = Pu239  1.0000E-9 1
 MIX 8 COMB 7 1.0
 MIX 9 COMB 7 1.0
 MIX 10 COMB 7 1.0
 MIX 11 COMB 5 1.0
 ;
************************************************************************
*  GEOMETRY DEFINITION AND TRACKING                                    *
************************************************************************
GEOM1 := GEO: :: CARCEL 6
  X- REFL X+ REFL    Y- REFL Y+ REFL
  MESHX 0.0 1.2  MESHY 0.0 1.2
  RADIUS 0.0 0.288712 0.365195 0.397962 0.4083 0.45 0.5748331
  MIX 1 2 3 4 5 6 6 ;
TRACK_SS1 := SYBILT: GEOM1 ::
  MAXR 20 MAXZ 15000 DP00 QUA2 20 3 ;

GEOM2 := GEO: :: CARCEL 6
  X- REFL X+ REFL    Y- REFL Y+ REFL
  MESHX 0.0 1.2  MESHY 0.0 1.2
  RADIUS 0.0 0.288712 0.365195 0.397962 0.4083 0.45 0.5748331
  MIX 7 8 9 10 11 6 6 ;
TRACK_SS2 := SYBILT: GEOM2 ::
  MAXR 20 MAXZ 15000 DP00 QUA2 20 3 ;

GEOM12 := GEO: :: CAR2D 2 1
  X- REFL X+ REFL    Y- REFL Y+ REFL
  CELL GEOM1 GEOM2
  ::: GEOM1 := GEO: CARCEL 6
      MESHX 0.0 1.2  MESHY 0.0 1.2
      RADIUS 0.0 0.288712 0.365195 0.397962 0.4083 0.45 0.5748331
      MIX 1 2 3 4 5 6 6 ;
  ::: GEOM2 := GEO: CARCEL 6
      MESHX 0.0 1.2  MESHY 0.0 1.2
      RADIUS 0.0 0.288712 0.365195 0.397962 0.4083 0.45 0.5748331
      MIX 7 8 9 10 11 6 6 ;
;
TRACK_2L := SYBILT: GEOM12 ::
  MAXR 20 MAXZ 30000 DP00 QUA2 20 3 ;

************************************************************************
*  NOMINAL REFERENCE CALCULATION                                       *
************************************************************************
INTEGER istepNext ;
REAL BUbeg Tbeg ;
REAL BU BUautop BUcompo := 0.0 0.0 0.0 ;
REAL Norm_f2 := 39.0 ; ! SPECIFIC POWER MW/t
REAL BUend Tend := 0. 0. ;
INTEGER istep :=  0 ;
INTEGER iauto :=  1 ;

**********************************************
*  BEGIN DEPLETION                           *
**********************************************
ECHO "start burnup loop" ;
WHILE istep maxstep < DO

 EVALUATE istep := istep 1 + ;
 ECHO "burnup step: " istep "/" maxstep ;
 
 EVALUATE BUbeg Tbeg := BUend Tend ;
 GREP: StepList :: GETVAL 'ListBU' <<istep>> >>BUend<< ;
 EVALUATE Tend := BUend Norm_f2 / ;
 ECHO "Nominal depletion between" Tbeg " and" Tend "days" ;

****************************
*  BEGIN SELF-SHIELDING    *
****************************
  IF istep 1 = THEN
     ECHO "perform initial self-shielding at" Tbeg "days" ;

     ECHO "$$$ ------------- begin : mixAUTOP1 " ;
     LIBRARY := UTL: LIBRARY :: DIR ;
     LIBRARY2 LIBRARY2A LIBRARY2B := mixA1_lumpSS LIBRARY TRACK_SS1 TRACK_SS2 ::
        <<istep>> ;
     ECHO "$$$ ------------- end : mixAUTOP1 " ;

  ELSE
     GREP: StepList :: GETVAL "ListAutop" <<iauto>> >>BUautop<< ;
     GREP: StepList :: GETVAL "ListBU" <<istep>> >>BU<< ;
     IF BUautop BU = THEN
     
       ECHO "perform self-shielding at" Tbeg "days" ;
       ECHO "$$$ ----------- begin : mixAUTOP2 " ;
       LIBRARY2 LIBRARY2A LIBRARY2B :=
          mixA1_lumpSS LIBRARY2 LIBRARY2A LIBRARY2B LIBRARY TRACK_SS1 TRACK_SS2 ::
          <<istep>> ;
       ECHO "$$$ ----------- end : mixAUTOP2 " ;
       
       EVALUATE iauto := iauto 1 + ;
       
     ENDIF ;
  ENDIF ;

****************************
*  END OF SELF-SHIELDING   *
****************************

************************************************************
*  BEGIN FLUX CALCULATION                                  *
************************************************************
  ECHO "flux calculation at" Tbeg "days" ;
  ASB := ASM: LIBRARY2 TRACK_2L :: PIJ ;
  IF istep 1 = THEN
    FLUX := FLU: LIBRARY2 TRACK_2L ASB :: TYPE K ;
  ELSE
    FLUX := FLU: FLUX LIBRARY2 TRACK_2L ASB :: TYPE K ;
  ENDIF ;
  ASB := DELETE: ASB ;

************************************************************
*  NON-REGRESSION                                          *
************************************************************
  IF istep 1 = THEN
    assertS FLUX :: K-EFFECTIVE 1 1.329496 ;
  ELSEIF istep 2 = THEN
    assertS FLUX :: K-EFFECTIVE 1 1.314796 ;
  ELSEIF istep 3 = THEN
    assertS FLUX :: K-EFFECTIVE 1 1.292124 ;
  ENDIF ;

************************************************************
*  BEGIN FLUX NORMALIZATION                                *
************************************************************
  IF istep 1 = THEN
    BURNUP LIBRARY2 := EVO: LIBRARY2 FLUX TRACK_2L ::
      EDIT 3
      SAVE <<Tbeg>> DAY POWR <<Norm_f2>> 
      ;
  ELSE
    BURNUP LIBRARY2 := EVO: BURNUP LIBRARY2 FLUX TRACK_2L ::
      EDIT 3
      SAVE <<Tbeg>> DAY POWR <<Norm_f2>>
    ;
  ENDIF ;

************************************************************
*  EDITION                                                 *
************************************************************
  EDIBU := EDI: FLUX LIBRARY2 TRACK_2L ::
    EDIT 0
    MICR 11 U235 U236 U238 Pu239 Pu240 Pu241 Pu242 Gd155 Gd157 Xe135 Sm149
    MERG MIX
    1   1   1   1   0   0   1   1   1   1   0  
    COND
    SAVE ON FUEL ;

************************************************************
*  FILL MULTICOMPO                                         *
************************************************************
  ECHO "fill multicompo at" Tbeg "days" ;
  MCOMPO := COMPO: MCOMPO EDIBU BURNUP LIBRARY2 ::
    EDIT 0
    STEP UP 'EDIBU_HOM'
    SET <<Tbeg>> DAY ;

  EDIBU := DELETE: EDIBU ;

*********************************************************
*  BEGIN DEPLETION                                      *
*********************************************************
  IF istep maxstep < THEN
    EVALUATE istepNext := istep 1 + ;
    GREP: StepList :: GETVAL 'ListBU' <<istepNext>> >>BUend<< ;
    EVALUATE Tend := BUend Norm_f2 / ;
  
    BURNUP LIBRARY2 := EVO: BURNUP LIBRARY2 FLUX TRACK_2L ::
     EDIT 0 
     NOEX DEPL <<Tbeg>> <<Tend>> DAY 
     POWR <<Norm_f2>> 
     EXPM 1.0E15 GLOB ;
  
  ENDIF ;
 
*********************************************************
*  END BURNUP LOOP                                      *
*********************************************************
ENDWHILE ;
ECHO "test lumpSS completed" ;
END: ;