summaryrefslogtreecommitdiff
path: root/Donjon/data/TC_EVO.x2m
blob: 8e77940612f0eca08326293923f8c471e5897507 (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
***********************************************************
*                                                         *
* Input file :  TC_EVO.x2m                                *
* Purpose    :  Test-case for micro-depletion             *
*               calculation using DONJON4                 *
* Author(s)  :  M. Guyot (2010)                           *
*                                                         *
* To run     : rdonjon4 TC_EVO.x2m TC_EVO_CPOs            *
*                       assertS.c2m                       *
*                                                         *
***********************************************************
***********************************************************
* A mixed method is used in this TC : the micro-depletion *
* is used to deplete the isotopes, except the residual    * 
* An interpolation  method is used to compute the residual*
* properties at each step of time                         *
***********************************************************

LINKED_LIST GEOM GEOEVO GEOM2 GEOEVO2 MATEX MATEX2 TRACK FMAP MICROLIB
            MICRO MACROLIB SYSTEM FLUX BURNUP CPO CPO2 MACRO MACRO3
            TRACKEVO POWER NEWFLUX ;
MODULE GEO: USPLIT: TRIVAT: RESINI: NCR: TRIVAA: FLUD: EVO: DELETE: 
       TINST: MACINI: END: GREP: FLPOW: UTL: ;
PROCEDURE assertS ;
REAL
  Power    Delt   Timec   Timei Timef :=
  31.9713  1.0    1.0   0.0   0.0   ;
REAL Keff ;
REAL PTOT := 1.9039 ; ! power used for the interpolation
*---
* Set the 3D Geometry
*---
GEOM := GEO: :: CAR3D 2 2 1
   X- REFL X+ REFL MESHX 0.0 28.575 57.15
   SPLITX 1 1
   Y- REFL Y+ REFL MESHY 0.0 28.575 57.15
   SPLITY 1 1
   Z- REFL Z+ REFL MESHZ 0.0 49.53 SPLITZ 1
   MIX 
   PLANE 1
    1 2 
    1 1  ;
GEOM2 MATEX := USPLIT: GEOM :: NGRP 2 MAXR 2000
               NREFL 1 RMIX 2
               NFUEL 1 FMIX 1 ;
TRACK := TRIVAT: GEOM2 :: MAXR 2000 MCFD 2 ;

*---
* Set the fuel-map and the burnup of the assembly
*---
FMAP MATEX := RESINI: MATEX ::
  ::: GEO:  CAR3D 2 2 1
   X- REFL X+ REFL MESHX 0.0 28.575 57.15
   SPLITX 1 1
   Y- REFL Y+ REFL MESHY 0.0 28.575 57.15
   SPLITY 1 1
   Z- REFL Z+ REFL MESHZ 0.0 49.53 SPLITZ 1
   MIX 
   PLANE 1
    1 0
    1 1 ;
   NXNAME '01' '02'
   NYNAME 'A' 'B'
   NCOMB ALL
   FUEL WEIGHT 19.85 ;
FMAP := RESINI: FMAP :: EDIT 1
  BTYPE INST-BURN
  INST-BVAL BUND
   2000.0 2000.0 2000.0  ;

*---
* Recover the fuel-map geometry to prepare the depletion calculation
*---
GEOEVO := FMAP :: STEP UP 'GEOMAP' ;
GEOEVO2 MATEX2 := USPLIT: GEOEVO :: NGRP 2 MAXR 2000
               NFUEL 1 FMIX 1 ;
TRACKEVO := TRIVAT: GEOEVO2 :: MAXR 2000 MCFD 1 ;

*---
* Recover the reflector and fuel properties
*---
SEQ_ASCII CPOFUEL CPOREFL ;
CPO := CPOFUEL ;
CPO2 := CPOREFL ;

MICRO := NCR: CPO2 :: EDIT 0
           NMIX 2 MICRO CUBIC
           COMPO CPO2 'moderator'
           MIX 2 FROM 1
           SET 'BURN' 0.
           MICRO ALL
           ENDMIX ;
MICROLIB := NCR: CPO FMAP :: EDIT 0
          MICRO CUBIC ALLX 5
          TABLE CPO 'fuel' BURN
          MIX 1 FROM 1
          INST-BURN
          MICRO ALL
          ENDMIX  ;
MACRO := MICRO :: STEP UP 'MACROLIB' ;
MACROLIB := MICROLIB :: STEP UP 'MACROLIB' ;

*----
* Flux calculation and initialization of the BURNUP
*----
MACRO3 MATEX := MACINI: MATEX MACRO MACROLIB :: EDIT 1 ;
SYSTEM := TRIVAA: MACRO3 TRACK :: EDIT 0 ;
FLUX := FLUD: SYSTEM TRACK ::  EDIT 0 EXTE 200 1.E-6 ADI 5 ;
POWER NEWFLUX := FLPOW: FMAP FLUX TRACK MATEX ::
            EDIT 0 PTOT <<PTOT>> BUND ;
            
UTL: MICROLIB :: DUMP ;

BURNUP MICROLIB := EVO: MICROLIB POWER ::
   EDIT 2 FLUX_POW PIFI SAVE 0.0 DAY POWR <<Power>> ;

GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ;
assertS FLUX :: "K-EFFECTIVE" 1 1.047273 ;

WHILE Timei Timec < DO
  EVALUATE Timef := Timei Delt + ;
* MICRO-DEPLETION
  BURNUP MICROLIB := EVO: BURNUP MICROLIB POWER ::
   EDIT 2 FLUX_POW PIFI DEPL <<Timei>> <<Timef>> DAY POWR <<Power>> ;
* INTERPOLATION FOR THE MICROSCOPIC CROSS SECTIONS
* The RES keyword limits multiparameter interpolation to microscopic XS
 FMAP := TINST: FMAP POWER :: EDIT 9 TIME <<Delt>> DAY ;
 MICROLIB := NCR: MICROLIB CPO FMAP :: EDIT 0
          MICRO CUBIC ALLX 5 RES
          TABLE CPO 'fuel' BURN
          MIX 1
            INST-BURN
            MICRO ALL
          ENDMIX ;

  MACRO3 SYSTEM FLUX POWER NEWFLUX MACROLIB := DELETE: 
  MACRO3 SYSTEM FLUX POWER NEWFLUX MACROLIB ;
* FLUX CALCULATION
  MACROLIB := MICROLIB :: STEP UP 'MACROLIB' ;
  MACRO3 MATEX := MACINI: MATEX MACRO MACROLIB :: EDIT 1 ;
  SYSTEM := TRIVAA: MACRO3 TRACK :: EDIT 0 ;
  FLUX := FLUD: SYSTEM TRACK ::  EDIT 0 EXTE 200 1.E-6 ADI 5 ;
* POWER CALCULATION
  POWER NEWFLUX := FLPOW: FMAP FLUX TRACK MATEX ::
            EDIT 0 PTOT <<PTOT>>  BUND ;

  BURNUP MICROLIB := EVO: BURNUP MICROLIB POWER  ::
   FLUX_POW PIFI SAVE <<Timef>> DAY POWR <<Power>> ;
*----
*  change delta t for burnup and final time if required
*----
  IF Timef Timec = THEN
    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 ;

GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ;
assertS FLUX :: 'K-EFFECTIVE' 1 1.033521 ;

ECHO "test TC_EVO completed" ;
END: ;
QUIT .