summaryrefslogtreecommitdiff
path: root/Donjon/data/TC_XENON.x2m
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 .