blob: 81e6ac0ab60a0fe59215d7a52e6fb0591ea6e2bb (
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
|
!*****************************************************************
!* Test for AFM module development in DONJON4 **
!*****************************************************************
!* Calcul DONJON a l'equilibre du rechargement a deux (2) zones **
!* **
!* Determination du burnup moyen de sortie pour un coeur **
!* avec des grappes quelconques provenant de FBMDT0 **
!* **
!* COURS ENE6209 **
!* **
!* Options: **
!* 1- Rapport B1/B2 (B1 zone centrale, B2 zone peripherique) **
!* 2- Position des BC **
!*****************************************************************
!* B. Dionne (03/04/2001) **
!* E. Varin (23/02/2004) **
!* R. Chambon (18/10/2007) **
!* A. Landry (13/09/2011) **
!* A. Hebert (11/11/2011) (pour DONJON4) **
!*****************************************************************
PROCEDURE Pburncal Pcalflu ;
PROCEDURE assertS ;
MODULE RESINI: MACINI: POWER: AFM: DELETE: NEWMAC: INIKIN:
KINSOL: TRIVAA: DMAC: GREP: DSET: FLPOW: ABORT: END: UTL: ;
SEQ_ASCII FBMDT0 ;
LINKED_LIST G23D2 INDEX MACRO DEVICE RESEAU ;
LINKED_LIST MACRO2 MACRES FLUX TRACK MACOLD DBASE SYSOLD ;
LINKED_LIST MACRO3 MACRES2 KINET SYSTEMP MACOLDP POWER ;
INTEGER TPS ;
!* Base de donnees AFM
!**********************
DBASE := FBMDT0 ;
!* Declaration des variables neutronique
!***************************************
REAL Rapport BCinout ;
INTEGER Maxreg ;
REAL B1 B2 ;
STRING Refl ;
REAL Xfacc Xfacp ;
REAL Keff ;
INTEGER iter := 1 ;
REAL Precf := 1.0E-7 ;
STRING NamCpo1 ;
EVALUATE NamCpo1 := "FULFBMDATA" ;
REAL Powi Powf ;
EVALUATE Powi := 2061.4 ;
REAL REFVALUE DELTA ;
!* Parametres de controle de la simulation
!*****************************************
EVALUATE Rapport := 0.8 ; ! Rapport B1 / B2
EVALUATE BCinout := 1.0 ; ! BC entrees = 1.0, BC sorties = 0.0
EVALUATE Maxreg := 27700 ; ! nombre de regions dans la geometrie
!* Appel de la procedure principale
!**********************************
G23D2 INDEX MACRO DEVICE RESEAU
:= Pburncal DBASE :: <<Rapport>> <<BCinout>> <<Maxreg>> ;
ECHO 'START TRANSIENT CALCULATION' ;
EVALUATE Refl := "REFL-SIGF" ;
EVALUATE Xfacp := 1. ;
EVALUATE Xfacc := 2. ;
!*Age pattern (TA -> Instantaneous)
RESEAU := RESINI: RESEAU ::
CELL
358 91 39
67 162 234
315 113 294 196 248 366
309 109 287 191 245 363
59 33 208 346 19 219 61
25 202 340 14 213 55 31
271 322 123 261 103 156 273 323
118 254 97 149 265 318 122 260
333 7 184 51 377 135 334 8 185
44 371 127 327 1 179 50 376 133
176 145 283 226 301 79 173 142 279
232 307 86 177 147 285 228 303 81
241 360 93 40 69 164 236 353 88 37
76 171 243 361 95 42 71 166 238 355
296 198 250 367 311 110 289 193 246 364
316 116 298 200 252 369 313 112 291 195
210 348 21 221 63 27 204 342 16 215 57
35 211 350 23 223 65 29 206 344 18 217
262 105 158 275 324 119 256 99 151 267 319
125 263 107 160 276 325 121 258 101 153 269
378 137 336 10 187 46 372 129 329 3 181
53 379 139 338 12 189 48 374 131 331 5
292 72 167 132 270 224 299 77 172 140 277
216 290 70 165 130 268 222 297 75 170 138
154 229 345 82 30 66 161 233 351 87 36
58 152 227 343 80 28 64 159 231 349 85
102 281 183 239 356 308 108 286 190 244 362
302 100 280 182 237 354 306 106 284 188 242
332 6 207 49 24 201 339 13 212 54
17 194 330 4 205 47 22 199 337 11
90 144 259 314 117 253 96 148 264 317
111 247 89 143 257 312 115 251 94 146
321 375 175 43 370 126 326 380 178
38 365 120 320 373 174 41 368 124
168 134 272 214 288 68 163 128 266
220 295 74 169 136 274 218 293 73
83 32 56 150 225 341 78 26
62 157 230 347 84 34 60 155
357 300 98 278 180 235 352
305 104 282 186 240 359 304
15 192 328 2 203 45
20 197 335 9 209 52
141 255 310
114 249 92
;
ECHO " +++++++++++++++++++++++++++++++++++++++ " ;
ECHO " +++++++++++++++++++++++++++++++++++++++ " ;
ECHO " +++ CONDITION INITIALE INSTANTANNEE +++ " ;
ECHO " +++++++++++++++++++++++++++++++++++++++ " ;
ECHO " +++++++++++++++++++++++++++++++++++++++ " ;
!* Calcul des sections efficaces
!***************************************************
MACRES := AFM: DBASE RESEAU ::
MAP
INFOR C6_FBM_CRP0
DNAME 1 <<NamCpo1>>
EDIT 1
NPWF
REFT 1 <<NamCpo1>> ;
UTL: MACRES :: DIR STEP UP GROUP STEP AT 1 DIR IMPR H-FACTOR * ;
ECHO "RECOVER FUEL AFM MACROLIB" ;
MACRO2 INDEX := MACINI: INDEX MACRO MACRES ;
!* Calcul du flux pour la repartition convergee du burnup
!********************************************************
FLUX MACOLD TRACK SYSOLD INDEX := Pcalflu INDEX MACRO2 DEVICE G23D2 ::
<<iter>> <<Maxreg>> <<Refl>> <<Xfacc>> <<Xfacp>> <<Precf>> ;
assertS FLUX :: "K-EFFECTIVE" 1 1.000627 ;
!* Calcul des puissances (normalisees) de canal et de grappe
!***********************************************************
POWER RESEAU := FLPOW: RESEAU FLUX TRACK INDEX
:: EDIT 0 PTOT <<Powi>> ;
ECHO " +++++++++++++++++++++++++++++++++++++++ " ;
ECHO " +++++++++++++++++++++++++++++++++++++++ " ;
ECHO " ++ CINETIQUE ++++++++++++++++++++++++++ " ;
ECHO " +++++++++++++++++++++++++++++++++++++++ " ;
ECHO " +++++++++++++++++++++++++++++++++++++++ " ;
KINET := INIKIN: MACOLD TRACK SYSOLD FLUX ::
EDIT 1
NDEL 6
BETA 0.000250 0.001562 0.001505 0.002755 0.000830 0.000317
LAMBDA 0.0129 0.0311 0.134 0.331 1.26 3.21
CHID 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0
NORM POWER-INI <<Powi>>
;
EVALUATE TPS := 1 ;
REAL TEMPS := 0.0 ;
REAL LEVEL := 0.5 ;
REAL ADJPOS := 1.0 ;
REAL ADJPOSVAR ;
REAL TEXIT := 1.0 ;
REAL DT := 0.1 ;
EVALUATE ADJPOSVAR := DT TEXIT / ;
!* Boucle de temps
!************************************************************
REPEAT
EVALUATE TEMPS := TEMPS DT + ;
!*mettre a jour les devices: POSITION DE BC #11 ET DE BL
IF TEMPS TEXIT < THEN
EVALUATE ADJPOS := ADJPOS ADJPOSVAR - ;
EVALUATE LEVEL := 0.5 ;
ELSE
EVALUATE ADJPOS := 0.0 ;
EVALUATE LEVEL := 0.5 ;
ENDIF ;
ECHO " +++++++++++++++++++++++++++++++++++++++ " ;
ECHO " CINETIQUE AU TEMPS: " TPS ;
ECHO " TEMPS: " TEMPS ;
ECHO " ADJUSTER #11 LEVEL:" ADJPOS ;
ECHO " +++++++++++++++++++++++++++++++++++++++ " ;
MACRES2 := AFM: DBASE RESEAU ::
MAP
INFOR C6_FBM_CRP0
DNAME 1 <<NamCpo1>>
EDIT 1
NPWF
REFT 1 <<NamCpo1>> ;
* ADJUST DEVICE ADJUSTER AND LZC POSITION *
********************************************************
DEVICE := DSET: DEVICE ::
EDIT 1
ROD-GROUP 1 LEVEL 1.0 END
ROD 11 LEVEL <<ADJPOS>> END
LZC 1 LEVEL <<LEVEL>> END
LZC 2 LEVEL <<LEVEL>> END
LZC 3 LEVEL <<LEVEL>> END
LZC 4 LEVEL <<LEVEL>> END
LZC 5 LEVEL <<LEVEL>> END
LZC 6 LEVEL <<LEVEL>> END
LZC 7 LEVEL <<LEVEL>> END
LZC 8 LEVEL <<LEVEL>> END
LZC 9 LEVEL <<LEVEL>> END
LZC 10 LEVEL <<LEVEL>> END
LZC 11 LEVEL <<LEVEL>> END
LZC 12 LEVEL <<LEVEL>> END
LZC 13 LEVEL <<LEVEL>> END
LZC 14 LEVEL <<LEVEL>> END
;
MACRO3 INDEX := MACINI: INDEX MACRO MACRES2 ;
MACOLDP INDEX := NEWMAC: INDEX MACRO3 DEVICE ::
EDIT 1 XFAC <<Xfacc>> ;
MACRES2 MACRO3 := DELETE: MACRES2 MACRO3 ;
SYSTEMP := TRIVAA: MACOLDP TRACK :: UNIT ;
KINET := KINSOL: KINET MACOLDP TRACK SYSTEMP MACOLD SYSOLD ::
EDIT 1
DELTA <<DT>>
SCHEME FLUX THETA 0.8
PREC THETA 0.8
;
!* Calcul des puissances (normalisees) de canal et de grappe
!***********************************************************
POWER := DELETE: POWER ;
POWER RESEAU := FLPOW: RESEAU KINET TRACK INDEX ;
EVALUATE TPS := TPS 1 + ;
MACOLD SYSOLD := DELETE: MACOLD SYSOLD ;
MACOLD := MACOLDP ;
SYSOLD := SYSTEMP ;
MACOLDP SYSTEMP := DELETE: MACOLDP SYSTEMP ;
UNTIL TPS 10 > ;
!* Fichier de sortie
!*******************
GREP: KINET :: GETVAL E-POW 1 >>Powf<< ;
EVALUATE REFVALUE := 2.357928E3 ;
EVALUATE DELTA := Powf REFVALUE - REFVALUE / ABS ;
IF DELTA 1.0E-3 < THEN
PRINT "TEST SUCCESSFUL; DELTA=" DELTA ;
ELSE
PRINT "------------" ;
PRINT "TEST FAILURE" ;
PRINT "------------" ;
PRINT "REFERENCE=" REFVALUE " CALCULATED=" Powf ;
ABORT: ;
ENDIF ;
ECHO "Initial power=" Powi " Final power=" Powf ;
ECHO "Successful end of AFMtest." ;
END: ;
QUIT .
|