summaryrefslogtreecommitdiff
path: root/Dragon/data/uo2_evo_hdf.x2m
blob: 42d6c2cda27cf7c9f9fefe26457ec2ad260d3d9d (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
*----
*
*  TEST CASE uo2_evo_hdf
*  UO2 ROWLAND'S BENCHMARK
*  DISTRIBUTED SELF-SHIELDING
*  99-GROUP JEF2.2 APOLIB-HDF
*
*  Author: A. Hebert
*
*----
*  Define STRUCTURES and MODULES used
*----
LINKED_LIST GEOM TRACK LIBRARY LIBRARY2 CP CALC BURNUP StepList ;
MODULE LIB: GEO: SYBILT: USS: ASM: FLU: GREP: UTL: EVO: DELETE: ;
INTEGER COMB0101 COMB0102 COMB0103 COMB0104 COMB0105 COMB0106 GAIN1
        MODE1 MODE2 := 
        1 2 3 4 5 6 7 8 9 ; (* DISTRIBUTED SELF-SHIELDING *)
REAL RCOMB1 RCOMB2 RCOMB3 RCOMB4 RCOMB5 RCOMB6 ;
PROCEDURE assertS ;
REAL Norm_f2 := 38.743 ;
*
*----
*  Variables
*----
INTEGER istep :=  1 ;
INTEGER nstep := 21 ;
INTEGER nauto :=  3 ;
INTEGER iauto :=  1 ;
INTEGER  valstep valauto ;
REAL    evobeg evoend step2 stepauto ;

StepList := UTL: :: CREA 'ListBU' <<nstep>> =
     9.375   18.75     37.5    75.     112.5
   150.     325.     500.     750.    1000.
  1500.    2000.    2500.    3000.    4000.
  5000.    6000.    7000.    8000.   10000.
 12000.  ;

StepList := UTL: StepList :: CREA 'ListAutop' <<nauto>> =
  4000.    8000.   12000. ;
*
EVALUATE RCOMB1 RCOMB2 RCOMB3 RCOMB4 RCOMB5 RCOMB6 := 0.2529822 
0.334664 0.3577709 0.3794733 0.3898718 0.40 ;
GEOM := GEO: :: TUBE 9
      R+ REFL
      RADIUS 0.0 <<RCOMB1>> <<RCOMB2>> <<RCOMB3>> <<RCOMB4>>
                 <<RCOMB5>> <<RCOMB6>> 0.45 0.5748331 0.6770275
      MIX <<COMB0101>> <<COMB0102>> <<COMB0103>> <<COMB0104>>
          <<COMB0105>> <<COMB0106>> <<GAIN1>> <<MODE1>> <<MODE2>>
          ;
TRACK := SYBILT: GEOM ::
     TITLE 'UO2 ROWLAND S BENCHMARK'
     MAXR 20 QUA1 5 ;

LIBRARY := LIB: ::
 EDIT 2
 NMIX 9    (*MAXIMUM OF MATERIAL MIXTURES*)
 CTRA APOL (*APOLLO TYPE TRANSPORT CORRECTION*)
 ANIS 2
 ADED 4 NELAS N4N N2N N3N
 SUBG      (*HELIOS TYPE PROBABILITY TABLES*)

*----
*  Depletion Chain
*----
 DEPL LIB: APLIB3 FIL: CLA99CEA93:CLA99CEA93_EVO
 MIXS LIB: APLIB3 FIL: CLA99CEA93:CLA99CEA93_SS
 MIX <<COMB0101>> 800.0 (*COMB0101*)
    O16     = O16    4.6624E-2
    U235    = U235   7.0803E-4 1
    U238    = U238   2.2604E-2 1
 MIX <<COMB0102>> COMB <<COMB0101>> 1.0 (*COMB0102*)
 MIX <<COMB0103>> COMB <<COMB0101>> 1.0 (*COMB0103*)
 MIX <<COMB0104>> COMB <<COMB0101>> 1.0 (*COMB0104*)
 MIX <<COMB0105>> COMB <<COMB0101>> 1.0 (*COMB0105*)
 MIX <<COMB0106>> COMB <<COMB0101>> 1.0 (*COMB0106*)
 MIX <<GAIN1>> 600.0 NOEV (*GAIN1*)
    Zr90    = Zr90   2.2247E-2 2
    Zr91    = Zr91   0.4852E-2 2
    Zr92    = Zr92   0.7416E-2 2
    Zr94    = Zr94   0.7515E-2 2
    Zr96    = Zr96   0.1211E-2 2
 MIX <<MODE1>> 293.6 NOEV (*MODE1*)
    H2O     = H2O    3.3494E-2
 MIX <<MODE2>> 293.6 NOEV (*MODE2*)
    H2O     = H2O    3.3494E-2
 ;
 
LIBRARY2 := USS: LIBRARY TRACK :: EDIT 1 TRAN PASS 2 GRMIN 18 ;
CP := ASM: LIBRARY2 TRACK :: EDIT 1 PIJ PNOR HELI ;
CALC := FLU: CP LIBRARY2 TRACK :: EDIT 1 TYPE B B1 SIGS ;
assertS CALC :: K-INFINITY 1 1.349664 ;

ECHO "Sortie de FLU: au BURNUP:  0.000000E+00" ;

EVALUATE evoend := 0. ;
WHILE istep nstep <= DO

  GREP: StepList :: GETVAL 'ListBU' <<istep>> >>step2<< ;

  EVALUATE evobeg := evoend ;
  EVALUATE evoend := step2 Norm_f2 / ;
  ECHO "BURNUP step" istep "between" evobeg "and" evoend "day:" ;
  IF istep 1 = THEN
    BURNUP LIBRARY := EVO: LIBRARY CALC TRACK :: EDIT 3
         DEPL <<evobeg>> <<evoend>> DAY POWR <<Norm_f2>>
         EPS1 .025  EPS2 .1
         EXPM 1.E15 RUNG EXTR NSAT NODI
         ;
  ELSE
    BURNUP LIBRARY := EVO: BURNUP LIBRARY CALC TRACK :: EDIT 2
         DEPL <<evobeg>> <<evoend>> DAY POWR <<Norm_f2>>
         EPS1 .025  EPS2 .1
         EXPM 1.E15 RUNG EXTR NSAT NODI
         ;
  ENDIF ;

*--------------------------------
* Self Shielding
*--------------------------------
    GREP: StepList :: GETVAL 'ListAutop' <<iauto>> >>stepauto<< ;
    EVALUATE valstep := step2 R_TO_I ;
    EVALUATE valauto := stepauto R_TO_I ;
    IF valstep valauto = THEN
      ECHO "StepAuto:" stepauto "MWj/t" ;
      ECHO "Self-shielding calculation" istep "at" evoend "DAY:" ;

      LIBRARY2 := USS: LIBRARY2 LIBRARY TRACK ::
        EDIT 1 TRAN PASS 2 GRMIN 18 ;

      IF iauto nauto < THEN
        EVALUATE iauto := iauto 1 + ;
      ENDIF ;
    ENDIF ;
*--------------------------------

  ECHO "step2=" step2 "evoend=" evoend ;

  CP := DELETE: CP ;
  CP := ASM: LIBRARY TRACK :: PIJ PNOR HELI ;
  CALC := FLU: CALC TRACK LIBRARY CP :: TYPE B B1 SIGS ;

  ECHO "Output of FLU: at burnup:" step2 ;

  BURNUP LIBRARY := EVO: BURNUP LIBRARY CALC TRACK :: EDIT 2
                       SAVE <<evoend>> DAY POWR <<Norm_f2>> ;

  EVALUATE istep := istep 1 + ;

ENDWHILE ;

assertS CALC :: K-INFINITY 1 0.9171035 ;
ECHO "test uo2_evo_hdf completed" ;
QUIT "LIST" .