blob: 853be95e839e8af6ea288532270a665e98b73eeb (
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
|
***********************************************************
* *
* Input file : TC_XENON.x2m *
* Purpose : Test-case for time-instantaneous *
* calculation using XENON: *
* Author(s) : M. Guyot (2010) *
* *
* To run : rdonjon4 TC_XENON.x2m TC_EVO_CPOs *
* assertS.c2m *
* *
***********************************************************
LINKED_LIST GEOM GEOM2 MATEX TRACK FMAP MICROLIB MACROLIB SYSTEM
FLUX CPO CPO2 POWER MICRO MACRO MACRO2 ;
MODULE GEO: USPLIT: TRIVAT: RESINI: NCR: TRIVAA: FLUD: MACINI:
TINST: XENON: FLPOW: DELETE: GREP: END: ;
PROCEDURE assertS ;
REAL Power eps := 31.9713 0.001 ; ! criterion for convergence in $
REAL Keff1 Keff2 DKeff ;
INTEGER iter ;
*---
* Set the 3D Geometry
*---
GEOM := GEO: :: CAR3D 6 6 1
X- REFL X+ REFL MESHX 0.0 28.575 57.15 85.725 114.30 142.875 171.45
SPLITX 1 1 1 1 1 1
Y- REFL Y+ REFL MESHY 0.0 28.575 57.15 85.725 114.30 142.875 171.45
SPLITY 1 1 1 1 1 1
Z- REFL Z+ REFL MESHZ 0.0 49.53 SPLITZ 1
MIX
1 1 1 1 1 2
1 1 1 1 1 2
1 1 1 1 1 2
1 1 1 1 1 2
1 1 1 1 1 2
2 2 2 2 2 2 ;
GEOM2 MATEX := USPLIT: GEOM :: NGRP 2 MAXR 100
NREFL 1 RMIX 2
NFUEL 1 FMIX 1 ;
TRACK := TRIVAT: GEOM2 :: MAXR 100 MCFD 1 ;
*---
* Set the fuel-map and the burnup of the cell
*---
FMAP MATEX := RESINI: MATEX ::
::: GEO: CAR3D 6 6 1
EDIT 0
X- REFL X+ REFL MESHX 0.0 28.575 57.15 85.725 114.30 142.875 171.45
SPLITX 1 1 1 1 1 1
Y- REFL Y+ REFL MESHY 0.0 28.575 57.15 85.725 114.30 142.875 171.45
SPLITY 1 1 1 1 1 1
Z- REFL Z+ REFL MESHZ 0.0 49.53 SPLITZ 1
MIX
1 1 1 1 1 0
1 1 1 1 1 0
1 1 1 1 1 0
1 1 1 1 1 0
1 1 1 1 1 0
0 0 0 0 0 0 ;
NXNAME "01" "02" "03" "04" "05" "06"
NYNAME "A" "B" "C" "D" "E" "F"
NCOMB ALL
FUEL WEIGHT 19.85 ;
FMAP := RESINI: FMAP ::
EDIT 1
BTYPE INST-BURN
INST-BVAL SAME 3000.0 ;
*---
* Recover the reflector and fuel properties
*---
SEQ_ASCII CPOFUEL CPOREFL ;
CPO := CPOFUEL ;
CPO2 := CPOREFL ;
MICRO := NCR: CPO2 :: EDIT 0
NMIX 2
COMPO CPO2 'moderator'
MIX 2 FROM 1
SET 'BURN' 0.
MICRO ALL
ENDMIX ;
MICROLIB := NCR: CPO FMAP :: EDIT 0
TABLE CPO 'fuel' BURN
MIX 1
INST-BURN
MICRO ALL
ENDMIX ;
MACRO := MICRO :: STEP UP "MACROLIB" ;
*---
* Initialisation of the Xenon distribution := 0
*---
MICROLIB := XENON: MICROLIB :: EDIT 0 INIT ;
EVALUATE Keff1 := 0.0 ;
EVALUATE Keff2 := 0.0 ;
EVALUATE DKeff := 1.0 ;
EVALUATE iter := 0 ;
*---
* Perform the recursive procedure to obtain the new distribution
*---
WHILE DKeff eps > DO
EVALUATE iter := iter 1 + ;
EVALUATE Keff2 := Keff1 ;
MACROLIB := MICROLIB :: STEP UP "MACROLIB" ;
MACRO2 MATEX := MACINI: MATEX MACRO MACROLIB :: EDIT 1 ;
SYSTEM := TRIVAA: MACRO2 TRACK :: EDIT 0 ;
FLUX := FLUD: SYSTEM TRACK :: EDIT 0 EXTE 300 1.E-6 ;
GREP: FLUX :: GETVAL "K-EFFECTIVE" 1 >>Keff1<< ;
* assertS for each iteration
IF iter 1 = THEN
assertS FLUX :: "K-EFFECTIVE" 1 1.058867 ;
ENDIF ;
IF iter 2 = THEN
assertS FLUX :: "K-EFFECTIVE" 1 1.042204 ;
ENDIF ;
IF iter 3 = THEN
assertS FLUX :: "K-EFFECTIVE" 1 1.042220 ;
ENDIF ;
POWER := FLPOW: FMAP FLUX TRACK MATEX :: EDIT 1
PTOT 15.866 ;
* Update the microlib according to the bundle fluxes
MICROLIB := XENON: MICROLIB POWER :: EDIT 0 ;
* Compute the new delta k_eff
EVALUATE DKeff := Keff1 Keff2 - ABS ;
* Delete files
MACROLIB FLUX SYSTEM MACRO2 POWER := DELETE:
MACROLIB FLUX SYSTEM MACRO2 POWER ;
ENDWHILE ;
ECHO "test TC_XENON completed" ;
END: ;
QUIT .
|