blob: b375a92238d0cdf4b8d9355f155df79e9f831ca2 (
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
|
****************************************************************
* *
* Input file : NCRtest.x2m *
* Purpose : Full-core calculation for ACR-1000 like *
* using the NCR module for all XS *
* Author : R. Chambon (2008/03) *
* based on : D. Sekki (2007/10) *
* *
****************************************************************
PROCEDURE Pgeotest Pfmaptest Pburntest Pfluxtest Pdevtest ;
PROCEDURE assertS ;
*
MODULE DELETE: GREP: USPLIT: TRIVAT: DSET: NCR: UTL: END: ABORT: ;
LINKED_LIST GEOM TRACK MATEX FMAP FLUX POWER SYSTEM
DEVICE MACRO1 MACFL MACRO2 MACRO KEFF ;
LINKED_LIST LMCPO18 LMCPO20 ;
*--
* compo files:
*--
SEQ_ASCII SMCPO18 :: FILE 'Compo18_all.res' ;
SEQ_ASCII SMCPO20 :: FILE 'Compo20_all.res' ;
*--
* compo directories:
*--
STRING NamFueld := "FUEL" ;
STRING NamPARKEYF := "FTYPE" ;
STRING NamFue20 := "CELL20" ;
STRING NamFue18 := "CELL18" ;
STRING NamModed := "MODE" ;
STRING NamPARKEYM := "MTYPE" ;
STRING NamRef20 := "CELL20" ;
STRING NamRef18 := "CELL18" ;
STRING NamZCR := "ZCU" ;
STRING NamSOR := "SOR" ;
*--
* variables declaration:
*--
INTEGER MaxReg := 1000000 ;
STRING Method := "MCFD" ;
INTEGER splitZ := 1 ;
INTEGER degree quadr := 1 1 ;
*
INTEGER nbMix := 8 ;
INTEGER nbRefl nbFuel := 2 2 ;
INTEGER mFue20 mFue18 := 1 2 ;
INTEGER mRef20 mRef18 := 3 4 ;
INTEGER mZCRin mZCRot := 5 6 ;
INTEGER mSORin mSORot := 7 8 ;
*
REAL Pow := 3200. ;
REAL Prec epsil := 1.E-5 1.E-5 ;
INTEGER iEdit maxItr := 5 2 ;
STRING Btyp := "TIMAV-BURN" ;
REAL Eps Keff Bexit ;
INTEGER nbItr ;
*---------------------------------------------------------------
*
* EQUILIBRIUM-CORE CALCULATION
* ============================
*--
* Save Multicompo as a linked_list
*--
LMCPO18 := SMCPO18 ;
LMCPO20 := SMCPO20 ;
*--
* geometry construction:
*--
GEOM := Pgeotest :: <<splitZ>> ;
*--
* link material index and geometry:
*--
GEOM MATEX := USPLIT: GEOM :: EDIT 0 NGRP 2
MAXR <<MaxReg>>
NREFL <<nbRefl>> RMIX <<mRef20>> <<mRef18>>
NFUEL <<nbFuel>> FMIX <<mFue20>> <<mFue18>> ;
*--
* numerical discretization:
*--
IF Method "MCFD" = THEN
TRACK := TRIVAT: GEOM :: EDIT 1
MAXR <<MaxReg>> MCFD <<degree>> ;
ELSEIF Method "PRIM" = THEN
TRACK := TRIVAT: GEOM :: EDIT 1
MAXR <<MaxReg>> PRIM <<degree>> ;
ELSEIF Method "DUAL" = THEN
TRACK := TRIVAT: GEOM :: EDIT 1
MAXR <<MaxReg>> DUAL <<degree>> <<quadr>> ;
ENDIF ;
GEOM := DELETE: GEOM ;
*--
* macrolib for reflector:
*--
MACRO1 := NCR: LMCPO18 LMCPO20 ::
EDIT 0 MACRO NMIX <<nbMix>>
COMPO LMCPO20 <<NamModed>>
MIX <<mRef20>>
SET <<NamPARKEYM>> <<NamRef20>> ENDMIX
COMPO LMCPO18 <<NamModed>>
MIX <<mRef18>>
SET <<NamPARKEYM>> <<NamRef18>> ENDMIX
COMPO LMCPO18 <<NamFueld>>
MIX <<mZCRin>>
SET <<NamPARKEYF>> <<NamZCR>>
SET BURN 6633.69434
SET X-COOL 1.0
SET T-COOL 5.731600E+02
SET T-FUEL 9.601600E+02
SET RDTPOS 1.0
SET RDDPOS 1.0
ENDMIX
MIX <<mZCRot>>
SET <<NamPARKEYF>> <<NamZCR>>
SET BURN 6633.69434
SET X-COOL 1.0
SET T-COOL 5.731600E+02
SET T-FUEL 9.601600E+02
SET RDTPOS 1.0
SET RDDPOS 0.0
ENDMIX
MIX <<mSORin>>
SET <<NamPARKEYF>> <<NamSOR>>
SET BURN 6633.69434
SET X-COOL 1.0
SET T-COOL 5.731600E+02
SET T-FUEL 9.601600E+02
SET RDTPOS 1.0
SET RDDPOS 1.0
ENDMIX
MIX <<mSORot>>
SET <<NamPARKEYF>> <<NamSOR>>
SET BURN 6633.69434
SET X-COOL 1.0
SET T-COOL 5.731600E+02
SET T-FUEL 9.601600E+02
SET RDTPOS 1.0
SET RDDPOS 0.0
ENDMIX
;
*--
* device specification:
*--
DEVICE MATEX := Pdevtest MATEX ::
<<mZCRin>> <<mZCRot>> <<mSORin>> <<mSORot>> ;
*--
* fuel-map definition:
*--
FMAP MATEX := Pfmaptest MATEX ;
*--
* average exit burnups:
*--
FMAP := Pburntest FMAP :: <<Btyp>> ;
*--
* set ZCUs to nominal position:
*--
DEVICE := DSET: DEVICE :: EDIT 1
ROD-GROUP 1 LEVEL 0.0 END
ROD-GROUP 2 LEVEL 0.5 END
ROD-GROUP 3 LEVEL 1.0 END ;
*---------------------------------------------------------------
* TIME-AVERAGE CALCULATION
*---------------------------------------------------------------
*--
* axial-power convergence loop:
*--
FMAP MATEX := Pfluxtest FMAP MATEX MACRO1 DEVICE
TRACK LMCPO18 LMCPO20 ::
<<NamFueld>> <<NamPARKEYF>>
<<mFue20>> <<mFue18>> <<NamFue20>> <<NamFue18>>
<<Pow>> <<epsil>> <<Prec>> <<maxItr>> <<iEdit>>
>>nbItr<< >>Keff<< >>Bexit<< ;
*--
* last parameters:
*--
ECHO "---- last parameters ---- " ;
ECHO "Number of Iterations " nbItr ;
ECHO "CORE-AVERAGED EXIT BURNUP : " Bexit ;
ECHO "RESULTING K-EFF : " Keff ;
KEFF := UTL: :: CREA 'K-EFFECTIVE' 1 = <<Keff>> ;
assertS KEFF :: 'K-EFFECTIVE' 1 1.004893 ;
END: ;
QUIT .
|