blob: bcaf0faa4656b464381f56ace5f89277f4b52e32 (
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
|
********************************************************************
* *
* Procedure : vverBU.c2m *
* Purpose : BU iteration calculus *
* Author : L.Fede *
* *
* CALL : *
* COMPO := vverBU LIBRARY TRACK StepList TF_EXC :: <<Multicompo>> *
* *
********************************************************************
* ---
* INPUT & OUTPUT PARAMETERS
* ---
PARAMETER COMPO LIBRARY TRACK TF_EXC StepList ::
::: LINKED_LIST COMPO ;
::: LINKED_LIST LIBRARY ;
::: LINKED_LIST TRACK ;
::: SEQ_BINARY TF_EXC ;
::: LINKED_LIST StepList ; ;
INTEGER Multicompo ;
:: >>Multicompo<< ;
* ---
* STRUCTURES AND MODULES
* ---
MODULE MAC: DELETE: UTL: USS: ASM: FLU: EVO: GREP: EXCELT: PSP: COMPO:
EDI: END: ;
LINKED_LIST SYS FLUX BURNUP FIG EDIBU LIBRARY2 ;
************************************************************************
* 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<< ;
************************************************************************
* END DECLARATION *
************************************************************************
************************************************************************
* BEGIN COMPO INITIALIZATION *
************************************************************************
COMPO := COMPO: ::
EDIT 10
STEP UP 'EDIBU'
MAXCAL 5
COMM 'Evolution burnup pincell' ENDC
PARA 'Burnup' IRRA
ISOT 14 U235 U236 U238 Pu239 Pu240 Pu241 Pu242 Gd154 Gd155 Gd156
Gd157 Gd158 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 := 41.9107 ; ! POWER NORM 41.9107 kW/kg
REAL BUend Tend := 0. 0. ;
INTEGER istep := 0 ;
INTEGER iauto := 1 ;
INTEGER iCompo := 1 ;
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" ;
*----
* USS
*----
IF istep 1 = THEN
ECHO ".perform self-shielding at" Tbeg "days" ;
LIBRARY2 := USS: LIBRARY TRACK TF_EXC :: EDIT 1 PASS 3 GRMIN 52 ;
ELSE
GREP: StepList :: GETVAL "ListAutop" <<iauto>> >>BUautop<< ;
GREP: StepList :: GETVAL "ListBU" <<istep>> >>BU<< ;
IF BUautop BU = THEN
ECHO "perform self-shielding at" Tbeg "days" ;
LIBRARY2 := USS: LIBRARY LIBRARY2 TRACK TF_EXC :: EDIT 0 PASS 3 GRMIN 52 ;
EVALUATE iauto := iauto 1 + ;
ENDIF ;
ENDIF ;
************************************************************************
* BEGIN MOC FLUX CALCULATION *
************************************************************************
SYS := ASM: LIBRARY2 TRACK TF_EXC :: 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 15 U235 U238 U236 Pu238 Pu239 Pu240 Pu241 Pu242
Gd154 Gd155 Gd156 Gd157 Gd158 Xe135 Sm149
MERG MIX 1 0 0 0 1 1 1
COND
SAVE ON FUEL ;
************************************************************************
* MULTICOMPO FEEDING *
************************************************************************
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 *
END: ;
QUIT .
|