summaryrefslogtreecommitdiff
path: root/Dragon/data/tdraglib_proc/TCDR05.c2m
blob: 7f8d6cbb2622319bfc4ace02b9977c1e9fbc31cf (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
*----
*  TEST CASE TCDR05
*  CANDU-6 ANNULAR CELL
*  172-GROUP JEF2.2 DRAGLIB
*  POWER (KW)         =  615.00000
*  BURN POWER (KW/KG) =   31.97130
*  URANIUM MASS       =   19.23600
*  UO2 REAL DENSITY   =   10.59300
*  UO2 EFF DENSITY    =   10.43750
*  UO2 TEMPERATURE    =  941.28998
*  ENRICHMENT         =    0.71140
*  COOLANT D2 AT %    =   99.222
*  MODERATOR D2 AT %  =   99.911
*  NUMBER OF DAYS     =   50
*
*----
*  Define variables and initialize
*     Burnup paremeters
*     a) Power
*        =  31.9713 kw/kg for    0.0 to 300.0 days
*     b) Burnup time interval Delt
*        =     1 day  for    0 to    1 day
*        =     4 days for    1 to    5 days
*        =     5 days for    5 to   10 days
*        =    10 days for   10 to   50 days
*        =    20 days for   50 to  150 days
*        =    50 days for  150 to  300 days
*     c) Days with burnup interval changes
*        = 1.0, 5.0, 10.0, 50.0, 150.0 and 300.0 days
*     d) Burnup control time variables Timei, Timef
*        Timei = initial time
*        Timef = final time
*----
REAL
  Power    Delt Timec Timei Timef :=
  31.9713  1.0  1.0   0.0   0.0 ;
*----
*  Define STRUCTURES and MODULES used
*----
LINKED_LIST
  LIBRARY CANDU6S CANDU6F VOLMATS VOLMATF PIJ FLUX BURNUP EDITION
  DATABASE ISOT ;
SEQ_BINARY
  INTLINS INTLINF ;
SEQ_ASCII
  database ;
MODULE
  GEO: EXCELT: SHI: ASM: FLU: EVO: EDI: COMPO: DELETE: END: ;
PROCEDURE assertS ;
*----
*  Depletion data from Jef 2.2 Draglib
*  Microscopic cross sections from Jef 2.2 Draglib
*----
PROCEDURE TCDR05Lib ;
INTEGER   iedit := 1 ;
LIBRARY := TCDR05Lib :: <<iedit>> ;
*----
*  Geometry CANDU6S : 13 regions annular cluster for self-shielding
*           CANDU6F : 31 regions annular cluster for transport
*----
CANDU6S := GEO: ::  TUBE 5
  R+ REFL RADIUS  0.00000 5.16890 5.60320  6.44780 6.58750 16.12171
  MIX  1 2 3 4 5
  CLUSTER ROD1 ROD2 ROD3 ROD4
  ::: ROD1 := GEO: TUBE 2 MIX 6 10 NPIN  1 RPIN 0.0000 APIN 0.0000
    RADIUS 0.00000 0.6122 0.6540 ;
  ::: ROD2 := GEO: ROD1   MIX 7 10 NPIN  6 RPIN 1.4885 APIN 0.0000 ;
  ::: ROD3 := GEO: ROD1   MIX 8 10 NPIN 12 RPIN 2.8755 APIN 0.261799 ;
  ::: ROD4 := GEO: ROD1   MIX 9 10 NPIN 18 RPIN 4.3305 APIN 0.0 ;
  ;
CANDU6F := GEO: CANDU6S :: SPLITR  6 1 1 1 10
  ::: ROD1 := GEO: ROD1 SPLITR 2 1 ;
  ::: ROD2 := GEO: ROD2 SPLITR 2 1 ;
  ::: ROD3 := GEO: ROD3 SPLITR 2 1 ;
  ::: ROD4 := GEO: ROD4 SPLITR 2 1 ;
  ;
*----
*  Create the reactor database
*----
DATABASE := COMPO: ::
  EDIT 5
  STEP UP 'moderator'
    COMM  'Multi-parameter reactor database for moderator' ENDC
    INIT
  STEP UP 'fuel'
    COMM  'Multi-parameter reactor database for fuel' ENDC
    PARA  'BURN' IRRA
    PARA  'FLUB' FLUB
    INIT
  ;
*----
*  Self-Shielding calculation EXCEL
*  Transport calculation      EXCEL
*  Flux calculation for keff
*----
VOLMATS INTLINS := EXCELT: CANDU6S ::
  TITLE 'TCDR05: CANDU-6 ANNULAR POWER= 31.971 FUEL TEMP= 941.29'
  EDIT 0 MAXR 13 TRAK TISO 5 10.0 SYMM 12 ;
LIBRARY := SHI: LIBRARY VOLMATS INTLINS :: EDIT 0 NOLJ ;
VOLMATF INTLINF := EXCELT: CANDU6F ::
  TITLE 'TCDR05: CANDU-6 ANNULAR POWER= 31.971 FUEL TEMP= 941.29'
  EDIT 0 MAXR 31 TRAK TISO 5 10.0 SYMM 12 ;
PIJ := ASM: LIBRARY VOLMATF INTLINF ;
FLUX := FLU: PIJ LIBRARY VOLMATF ::
  TYPE K ;
assertS FLUX :: 'K-INFINITY' 1 1.117541 ;
EDITION := EDI: LIBRARY VOLMATF FLUX ::
  COND 4.0 MERGE MIX 0 0 0 0 1 0 0 0 0 0 MICR RES SAVE ON 'moderator' ;
DATABASE := COMPO: DATABASE EDITION ::
  EDIT 3
  STEP UP *
  ;
EDITION := EDI: EDITION LIBRARY VOLMATF FLUX ::
  COND 4.0 MERGE COMP MICR 1 Xe135 SAVE ON 'fuel' ;
*----
*  Burnup loop: for first step BURNUP is created
*  while for other steps it is modified
*----
WHILE Timei Timec < DO
  EVALUATE Timef := Timei Delt + ;
  IF Timei 0.0 = THEN
    BURNUP LIBRARY := EVO: LIBRARY FLUX VOLMATF ::
      DEPL <<Timei>> <<Timef>> DAY POWR <<Power>> ;
  ELSE
    BURNUP LIBRARY := EVO: BURNUP LIBRARY FLUX VOLMATF ::
      NOEX DEPL <<Timei>> <<Timef>> DAY POWR <<Power>> ;
  ENDIF ;
  LIBRARY := SHI: LIBRARY VOLMATS INTLINS :: EDIT 0 NOLJ ;
  PIJ := DELETE: PIJ ;
  PIJ := ASM: LIBRARY VOLMATF INTLINF ;
  FLUX := FLU: FLUX PIJ LIBRARY VOLMATF ::
    TYPE K ;
  EDITION := EDI: EDITION LIBRARY VOLMATF FLUX ::
    SAVE ON 'fuel' ;
  BURNUP LIBRARY := EVO: BURNUP LIBRARY FLUX VOLMATF ::
    SAVE <<Timef>> DAY POWR <<Power>> ;
  DATABASE := COMPO: DATABASE EDITION BURNUP LIBRARY ::
    EDIT 3
    STEP UP *
    SET <<Timef>> DAY
    ;
*----
*  change delta t for burnup and final time if required
*----
  IF Timef Timec = THEN
    IF Timec 150.0 = THEN
      EVALUATE Delt Timec := 50.0 300.0 ;
    ENDIF ;
    IF Timec 50.0 = THEN
      EVALUATE Delt Timec := 20.0 150.0 ;
    ENDIF ;
    IF Timec 10.0 = THEN
      EVALUATE Delt Timec := 10.0 50.0 ;
    ENDIF ;
    IF Timec 5.0 = THEN
      EVALUATE Delt Timec := 5.0 10.0 ;
    ENDIF ;
    IF Timec 1.0 = THEN
      EVALUATE Delt Timec := 4.0 5.0 ;
    ENDIF ;
  ENDIF ;
  EVALUATE Timei := Timef ;
ENDWHILE ;
*----
*  Export and access the database
*----
database := DATABASE ;

ISOT := DATABASE :: STEP UP fuel
                    STEP UP MIXTURES STEP AT 1
                    STEP UP CALCULATIONS STEP AT 5
                    STEP UP ISOTOPESLIST STEP AT 1 ;
assertS ISOT :: 'NWT0' 1 9.761326E0 ;
assertS ISOT :: 'NWT0' 2 2.651622E1 ;
ISOT := DELETE: ISOT ;

ISOT := DATABASE :: STEP UP moderator
                    STEP UP MIXTURES STEP AT 1
                    STEP UP CALCULATIONS STEP AT 1
                    STEP UP ISOTOPESLIST STEP AT 1 ;
assertS ISOT :: 'NWT0' 1 9.095968E-2 ;
assertS ISOT :: 'NWT0' 2 3.246063E-1 ;

INTLINF INTLINS := DELETE: INTLINF INTLINS ;
ECHO "test TCDR05 completed" ;
END: ;  
QUIT "LIST" .