blob: 7dff9905d2cec1cdb9d59dbc02ccacd25234387d (
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
|
*DECK MainDraG2.c2m
*----
* Nom : MainDraG2.c2m
* Type : Procedure de calcul
* Usage : Evolution d'une cellule de cellule CANDU-6 avec historique
* Auteur : G. Marleau -- 2003/03/24
* Modifie : R. Chambon -- 2003/05/21
* G. Marleau -- 2003/06/30
*
* Description de la procedure:
* History MACRES := MainDraG2 History MACRES RESEAU
* GeoS GeoF IntLinS IntLinF ::
* <<ncha>> <<nbun>> <<ibgncha>> <<iendcha>>
* <<RefLib>> << NivImp >> <<ppm>> <<purmod>> ;
* Structures de donnees:
* History : historique du calcul de cellule (L_HISTORY).
* MACRES : bibilotheque macroscopique pour le reseau
* de calcul (L_MACROLIB).
* RESEAU : reseau de calcul pour le rechargement
* (L_MAP).
* GeoS : volumes, surfaces et parametres d'integration
* pour l'autoprotection des resonances (L_TRACK).
* GeoF : volumes, surfaces et parametres d'integration
* pour le calcul de flux (L_TRACK).
* IntLinS : lignes d'integration pour l'autoprotection
* des resonances
* IntLinF : lignes d'integration pour le calcul des flux
* Parametres de controle:
* ncha : nombre de cannaux de combustible
* nbun : nombre de grappes de combustible par cannal
* ibgncha : numero de cannal de depart pour le calcul courant
* iendcha : numero de cannal de fin pour le calcul courant
* RefLib : Type de bibliotheque
* "Winfrith" -> Bibliotheque Winfrith WIMS-AECL
* "ENDFB5" -> Bibliotheque ENDF/B-V WIMS-AECL
* (defaut)
* "ENDFB6" -> Bibliotheque ENDF/B-VI WIMS-AECL
* "IGE227W" -> Bibliotheque Winfrith WIMS-AECL
* isotopes de IGE227
* "IGE227E5" -> Bibliotheque ENDF/B-V WIMS-AECL
* isotopes de IGE227
* NivImp : Niveau d'impression
* ppm : Bore dans moderateur en ppm
* purmod : Purete D2O moderateur (%)
* Procedure requise:
* BibCellG2 : Mise a jour de la bibliotheque de section
* efficace pour le calcul de cellule
* FlxCellG2 : Calcul de flux et evolution pour une cellule
* Modules DRAGON/DONJON requis:
* HST: : controle l'historique.
* EDI: : Gestion des sorties de DRAGON.
* CPO: : Gestion des base de donnees CPO de DRAGON/DONJON
* CRE: : Creation des macrolib pour DONJON.
*----
* Procedures et Modules
*----
PARAMETER History MACRES RESEAU GeoS GeoF
IntLinS IntLinF ::
EDIT 1
::: XSM_FILE History ;
::: LINKED_LIST MACRES RESEAU GeoS GeoF ;
::: SEQ_BINARY IntLinS IntLinF ; ;
INTEGER ncha nbun ibgncha iendcha NivImp ;
STRING RefLib ;
REAL ppm purmod ;
*----
* Reccuperer information transferee a la procedure
*----
:: >>ncha<< >>nbun<< >>ibgncha<< >>iendcha<<
>>RefLib<< >>NivImp<< >>ppm<< >>purmod<< ;
PROCEDURE BibCellG2 FlxCellG2 ;
MODULE HST: EDI: CPO: CRE: DELETE: END: ;
MODULE ABORT: ;
*----
* Definir les parametres globaux
*----
REAL TMod PMod DMod BMod :=
345.66 purmod 0.0 ppm ;
*----
* Definir les parametres locaux
* *A is after refueling
* *B is before refueling
*----
REAL TCombA ECombA DCombA
TCaloA PCaloA DCaloA ;
REAL TCombB ECombB DCombB
TCaloB PCaloB DCaloB ;
INTEGER BibOpt ;
*----
* Definir les options locales pour les calculs de cellule
* *A is after refueling
* *B is before refueling
*----
REAL PowerA DeltaTA
PowerB DeltaTB ;
*----
* Structures de donnees locales
*----
LINKED_LIST Biblio Flux Burnup Edition Cpo ;
*----
* Parametres de reacteur
* nglo = nunber of global parameters = 4
* nloc = nunber of local parameters = 6
* bunl = bundle length in cm = 49.53 cm
*----
EVALUATE BibOpt := 1 ;
INTEGER nglo nloc :=
4 6 ;
REAL PkW DTCombA DTCombB ;
REAL bunl := 49.53 ;
REAL mbun := 400.559 bunl * 1000. / ;
INTEGER icha ibun ;
INTEGER istep ;
*
History := HST: History RESEAU :: EDIT 2 ;
*
EVALUATE icha := ibgncha ;
WHILE icha iendcha <= DO
EVALUATE istep := icha ;
EVALUATE ibun := 1 ;
WHILE ibun nbun <= DO
*----
* recover in Reseau power and burnup for each bundle
* and save them on History after execution
*----
ECHO "Channel bundle =" icha ibun istep ;
*
Burnup := HST: History ::
EDIT 2
PUT TMod >>TMod<< PMod >>PMod<<
DMod >>DMod<< BMod >>BMod<<
CELLID <<icha>> <<ibun>>
PUT BREFL BURN >>DeltaTB<< >>PowerB<<
TComb >>TCombB<< TCalo >>TCaloB<<
EComb >>ECombB<< PCalo >>PCaloB<<
DComb >>DCombB<< DCalo >>DCaloB<<
AREFL BURN >>DeltaTA<< >>PowerA<<
TComb >>TCombA<< TCalo >>TCaloA<<
EComb >>ECombA<< PCalo >>PCaloA<<
DComb >>DCombA<< DCalo >>DCaloA<< ;
*
*
* COMPUTE FUEL TEMPERATURE AS A FUNCTION OF POWER
*
IF RefLib "IGE227W" = THEN
EVALUATE TCombB := 941.29 ;
EVALUATE TCombA := 941.29 ;
ELSEIF RefLib "IGE227E5" = THEN
EVALUATE TCombB := 941.29 ;
EVALUATE TCombA := 941.29 ;
ELSE
*----
* Temperature du combustible en fonction de la puissance P
* et de la temperature du caloporteur
* T_{fuel}=T_{Cool}+ 0.476 P + 0.0002267 P^{2}
* Reference: D. Rozon, Introduction a la cinetique des reacteurs
* nucleaires. p. 217
*----
EVALUATE PkW := PowerB mbun * ;
EVALUATE DTCombB := 2.267E-4 PkW * PkW * 0.476 PkW * + ;
EVALUATE TCombB := TCaloB DTCombB + ;
EVALUATE PkW := PowerA mbun * ;
EVALUATE DTCombA := 2.267E-4 PkW * PkW * 0.476 PkW * + ;
EVALUATE TCombA := TCaloA DTCombA + ;
ENDIF ;
ECHO "Before DeltaT=" DeltaTB ;
ECHO "Before Power =" PowerB ;
ECHO "Before TComb =" TCombB ;
ECHO "Before EComb =" ECombB ;
ECHO "Before DComb =" DCombB ;
ECHO "Before TCalo =" TCaloB ;
ECHO "Before PCalo =" PCaloB ;
ECHO "Before DCalo =" DCaloB ;
ECHO "After DeltaT=" DeltaTA ;
ECHO "After Power =" PowerA ;
ECHO "After TComb =" TCombA ;
ECHO "After EComb =" ECombA ;
ECHO "After DComb =" DCombA ;
ECHO "After TCalo =" TCaloA ;
ECHO "After PCalo =" PCaloA ;
ECHO "After DCalo =" DCaloA ;
*----
* Burn before refueling
*----
IF DeltaTB 0.0 > THEN
Biblio := BibCellG2 Burnup ::
<<RefLib>> <<BibOpt>>
<<TCombB>> <<ECombB>> <<DCombB>>
<<TCaloB>> <<PCaloB>> <<DCaloB>>
<<TMod>> <<PMod>> <<DMod>> <<BMod>>
<<NivImp>> ;
Flux Burnup Biblio := FlxCellG2 Biblio Burnup
GeoS GeoF IntLinS IntLinF ::
<<BibOpt>>
<<PowerB>> <<DeltaTB>> <<NivImp>> ;
Flux Biblio := DELETE: Flux Biblio ;
ENDIF ;
*----
* Burn after refueling
*----
Biblio := BibCellG2 Burnup ::
<<RefLib>> <<BibOpt>>
<<TCombA>> <<ECombA>> <<DCombA>>
<<TCaloA>> <<PCaloA>> <<DCaloA>>
<<TMod>> <<PMod>> <<DMod>> <<BMod>>
<<NivImp>> ;
Flux Burnup Biblio := FlxCellG2 Biblio Burnup
GeoS GeoF IntLinS IntLinF ::
<<BibOpt>>
<<PowerA>> <<DeltaTA>> <<NivImp>> ;
History := HST: History Burnup ::
EDIT 2
CELLID <<icha>> <<ibun>> ;
*----
* Update DONJON MAC
*----
Edition := EDI: Flux Biblio GeoF ::
EDIT <<NivImp>>
MERGE COMP
* COND 0.625
COND 4.0
SAVE ON 'END-CASE' ;
Cpo := CPO: Edition ::
STEP 'END-CASE' NAME BUNDLE ;
ECHO "NUMERO_DE_MIX = " istep ;
IF istep ibgncha = THEN
MACRES := CRE: Cpo ::
EDIT 1 NMIX 64
READ
COMPO Cpo MIX <<istep>> 'BUNDLE 1' ENDMIX
;
ELSE
MACRES := CRE: MACRES Cpo ::
READ
COMPO Cpo MIX <<istep>> 'BUNDLE 1' ENDMIX
;
ENDIF ;
Burnup Flux Biblio Cpo Edition := DELETE:
Burnup Flux Biblio Cpo Edition ;
EVALUATE istep := istep ncha + ;
EVALUATE ibun := ibun 1 + ;
ENDWHILE ;
EVALUATE icha := icha 1 + ;
ENDWHILE ;
END: ;
QUIT "LIST" .
|