blob: b5dd7c365e8c391e56e4b6cc3bad4257a7cbd188 (
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
|
*******************************************************************************************************
* *
* Procedure : vverBU.c2m *
* Purpose : BU iteration calculus *
* Author : L.Fede *
* *
* CALL : *
* COMPO := vverBU LIBRARY TRACK TF_EXC TRACK_SS TF_EXC_SS StepList :: <<Multicompo>> <<name_geom>> *
* <<name_compo>> <<ss>> *
* *
*******************************************************************************************************
* ---
* INPUT & OUTPUT PARAMETERS
* ---
PARAMETER COMPO LIBRARY TRACK TF_EXC TRACK_SS TF_EXC_SS StepList ::
::: LINKED_LIST COMPO ;
::: LINKED_LIST LIBRARY ;
::: LINKED_LIST TRACK ;
::: SEQ_BINARY TF_EXC ;
::: LINKED_LIST TRACK_SS ;
::: SEQ_BINARY TF_EXC_SS ;
::: LINKED_LIST StepList ; ;
INTEGER Multicompo ;
:: >>Multicompo<< ;
STRING name_geom name_compo ss ;
:: >>name_geom<< >>name_compo<< >>ss<< ;
* ---
* STRUCTURES AND MODULES
* ---
MODULE MAC: DELETE: UTL: AUTO: USS: ASM: FLU: EVO: GREP: EXCELT: PSP:
COMPO: EDI: END: ABORT: ;
LINKED_LIST SYS FLUX BURNUP FIG EDIBU LIBRARY2 ;
SEQ_ASCII _COMPO :: FILE <<name_compo>> ;
************************************************************************
* REFERENCE LOCAL PARAMETERS *
************************************************************************
SEQ_ASCII TDT_VVER :: FILE './testVVER_1level_g2s.txt' ;
SEQ_ASCII FIG_VVER :: FILE './FIG_VVER_1level.ps' ;
STRING Library := "DLIB_J3p1p1" ;
REAL Kinf ;
ECHO "vverBU: Multicompo=" Multicompo ;
************************************************************************
* BEGIN DECLARATION *
************************************************************************
INTEGER nstep nauto maxcompo ;
GREP: StepList :: LENGTH ListBU >>nstep<< ;
GREP: StepList :: LENGTH ListAutop >>nauto<< ;
GREP: StepList :: LENGTH ListCompo >>maxcompo<< ;
ECHO "nstep=" nstep "nauto=" nauto "maxcompo=" maxcompo "ss=" ss ;
************************************************************************
* END DECLARATION *
************************************************************************
************************************************************************
* BEGIN COMPO INITIALIZATION *
************************************************************************
COMPO := COMPO: ::
EDIT 10
STEP UP 'EDIBU'
MAXCAL 5
COMM 'Evolution burnup pincell' ENDC
PARA 'Burnup' IRRA
ISOT 11 U235 U236 U238 Pu239 Pu240 Pu241 Pu242 Gd155 Gd157 Xe135 Sm149
INIT
;
************************************************************************
* END COMPO INITIALIZATION *
************************************************************************
************************************************************************
* NOMINAL REFERENCE CALCULATION *
************************************************************************
INTEGER istepNext ;
REAL BUbeg Tbeg ;
REAL BU BUautop BUcompo := 0.0 0.0 0.0 ;
REAL Norm_f2 := 36.8577 ; ! SPECIFIC POWER MW/t
REAL BUend Tend := 0. 0. ;
INTEGER istep := 0 ;
INTEGER iauto := 1 ;
INTEGER iCompo := 1 ;
ECHO "start burnup loop" ;
WHILE istep nstep < DO
EVALUATE istep := istep 1 + ;
ECHO "burnup step: " istep "/" nstep ;
EVALUATE BUbeg Tbeg := BUend Tend ;
GREP: StepList :: GETVAL 'ListBU' <<istep>> >>BUend<< ;
EVALUATE Tend := BUend Norm_f2 / ;
ECHO "Nominal depletion between" Tbeg " and" Tend "days" ;
*----
* AUTO
*----
IF istep 1 = THEN
ECHO ".perform self-shielding at" Tbeg "days" ;
IF ss 'auto' = THEN
LIBRARY2 := AUTO: LIBRARY TRACK_SS TF_EXC_SS :: EDIT 1 PASS 1 MAXT 60000 SEED 1111
CALC REGI W1 U235 ALL
ENDC ;
ELSEIF ss 'uss' = THEN
LIBRARY2 := USS: LIBRARY TRACK_SS TF_EXC_SS :: EDIT 1 PASS 3
CALC REGI W1 U235 ALL
ENDC ;
ELSE
ECHO "vverBU: self shielding" ss "not available" ;
ABORT: ;
ENDIF ;
ELSE
GREP: StepList :: GETVAL "ListAutop" <<iauto>> >>BUautop<< ;
GREP: StepList :: GETVAL "ListBU" <<istep>> >>BU<< ;
IF BUautop BU = THEN
ECHO "perform self-shielding at" Tbeg "days" ;
IF ss 'auto' = THEN
LIBRARY2 := AUTO: LIBRARY LIBRARY2 TRACK_SS TF_EXC_SS :: EDIT 1
CALC REGI W1 U235 ALL
ENDC ;
ELSEIF ss 'uss' = THEN
LIBRARY2 := USS: LIBRARY LIBRARY2 TRACK_SS TF_EXC_SS :: EDIT 1
CALC REGI W1 U235 ALL
ENDC ;
ELSE
ECHO "vverBU: self shielding" ss "not available" ;
ABORT: ;
ENDIF ;
EVALUATE iauto := iauto 1 + ;
ENDIF ;
ENDIF ;
************************************************************************
* BEGIN MOC FLUX CALCULATION *
************************************************************************
SYS := ASM: LIBRARY2 TRACK TF_EXC :: ARM EDIT 1 ;
IF istep 1 = THEN
FLUX := FLU: LIBRARY2 SYS TRACK TF_EXC ::
EDIT 1 TYPE K B1 SIGS ;
ELSE
FLUX := FLU: FLUX LIBRARY2 SYS TRACK TF_EXC ::
EDIT 1 TYPE K B1 SIGS ;
ENDIF ;
SYS := DELETE: SYS ;
IF istep 1 = THEN
BURNUP LIBRARY2 := EVO: LIBRARY2 FLUX TRACK ::
EDIT 0
SAVE <<Tbeg>> DAY POWR <<Norm_f2>>
;
ELSE
BURNUP LIBRARY2 := EVO: BURNUP LIBRARY2 FLUX TRACK ::
EDIT 0
SAVE <<Tbeg>> DAY POWR <<Norm_f2>>
;
ENDIF ;
GREP: StepList :: GETVAL "ListCompo" <<iCompo>> >>BUcompo<< ;
GREP: StepList :: GETVAL "ListBU" <<istep>> >>BU<< ;
IF BUcompo BU = THEN
EDIBU := EDI: FLUX LIBRARY2 TRACK ::
EDIT 5
MICR 11 U235 U236 U238 Pu239 Pu240 Pu241 Pu242 Gd155 Gd157 Xe135 Sm149
MERG MIX 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1
COND
SAVE ON FUEL ;
COMPO := COMPO: COMPO EDIBU BURNUP LIBRARY ::
EDIT 2
STEP UP 'EDIBU'
SET <<Tbeg>> DAY ;
EDIBU := DELETE: EDIBU ;
EVALUATE iCompo := iCompo 1 + ;
ENDIF ;
GREP: FLUX :: GETVAL 'K-INFINITY ' 1 1 1 >>Kinf<< ;
ECHO "+++ Burnup=" BUend " Kinf=" Kinf " at step" istep ;
IF istep nstep < THEN
EVALUATE istepNext := istep 1 + ;
GREP: StepList :: GETVAL 'ListBU' <<istepNext>> >>BUend<< ;
EVALUATE Tend := BUend Norm_f2 / ;
BURNUP LIBRARY2 := EVO: BURNUP LIBRARY2 FLUX TRACK ::
EDIT 3 DEPL <<Tbeg>> <<Tend>> DAY POWR <<Norm_f2>>
EXPM 1.0E15 GLOB ;
ENDIF ;
************************************************************************
* END FLUX CALCULATION *
************************************************************************
ENDWHILE ;
************************************************************************
* END OF REFERENCE BURNUP LOOP WITH DEPLETION *
************************************************************************
************************************************************************
* EXPORT MULTICOMPO IN ASCII FORMAT *
************************************************************************
_COMPO := COMPO ;
END: ;
QUIT .
|