summaryrefslogtreecommitdiff
path: root/Dragon/data/testDuo_B1.x2m
blob: d76f4ee2aa81acbfa36bbc6c26b4bd5956ab1dd4 (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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
*----
*
*  TEST CASE testDuo_B1
*  Validation test for the DUO: module implementing the Clio
*  perturbative approach
*  FIRST UO2 ROWLAND'S BENCHMARK
*  UNIFORM SELF-SHIELDING
*  172-GROUP JEF2.2 DRAGLIB
*
*  Author: A. Hebert
*
*----
*  Define STRUCTURES and MODULES used
*----
LINKED_LIST GEOM TRACK LIBRARY LIBRARY2 CP FLUX MACRO MACROT AFLUX
            LIBRARY3 FLUX3 OUT OUTMIC1 OUTMIC2 ;
MODULE LIB: GEO: SYBILT: SHI: USS: ASM: FLU: T: DELETE: DUO: EDI: 
            GREP: UTL: ABORT: END: ;
REAL rhoNtot0 rhoScat rhoNuSigf rhoLeak REFVALUE DELTA B2 ;
PROCEDURE assertS ;
*
GEOM := GEO: :: TUBE 3
  R+ REFL
  RADIUS 0.0 0.4 0.45 0.6770275
  SPLITR 2 1 1 
  MIX 1 2 3 ;
TRACK := SYBILT: GEOM ::
  TITLE 'FIRST UO2 ROWLAND S BENCHMARK'
  MAXR 20 QUA1 5 ;
*----
* SHELF SHIELDING OF THE FIRST CALCULATION USING USS
*----
LIBRARY := LIB: ::
  EDIT 1
  NMIX 3    (*MAXIMUM OF MATERIAL MIXTURES*)
  CTRA APOL (*APOLLO TYPE TRANSPORT CORRECTION*)
  ANIS 2
  ADED 4 NELAS N4N N2N N3N
  SUBG      (*HELIOS TYPE PROBABILITY TABLES*)

  MIXS LIB: DRAGON FIL: DLIB_J2
  MIX 1 293.0
    U235    = U235   7.0803E-4 1 IRSET 0.0 81
    U238    = U238   2.2604E-2 1 IRSET 0.0 81
    O16     = O16    4.6624E-2
  MIX 2 293.0
    Zr0     = Zr0    4.3241E-2 2 IRSET 0.0 81
  MIX 3 293.0
    H1      = H1_H2O 6.6988E-2
    O16     = O16    3.3494E-2
  ;
LIBRARY2 := USS: LIBRARY TRACK ::
            EDIT 1 TRAN PASS 2 GRMIN 45 ;

*----
* MAIN TRANSPORT CALCULATION OF THE FIRST CALCULATION
*----
CP := ASM: LIBRARY2 TRACK :: PIJ ;
FLUX := FLU: CP LIBRARY2 TRACK ::
TYPE B B1 SIGS EXTE 1.0E-7 ;
GREP: FLUX :: GETVAL  'B2  B1HOM' 1 >>B2<< ;
CP := DELETE: CP ;
assertS FLUX :: K-INFINITY 1 1.377865 ;

*----
* ADJOINT TRANSPORT CALCULATION OF THE FIRST CALCULATION
*----
MACRO := LIBRARY2 :: STEP UP MACROLIB ;
MACROT := T: MACRO ;
CP := ASM: MACROT TRACK :: PIJ ;
FLUX := FLU: FLUX CP MACROT TRACK ::
TYPE K RHS SIGS BUCK <<B2>> ;
CP MACRO MACROT := DELETE: CP MACRO MACROT ;
assertS FLUX :: K-EFFECTIVE 1 1.0 ;

*----
* CONSTRUCT AN EDITION MACROLIB FOR THE FIRST CALCULATION
*----
OUT := EDI: FLUX LIBRARY2 TRACK GEOM ::
  EDIT 2
  PROD (* KEYWORD TO OBTAIN ADJOINT-WEIGHTED BILINEAR PRODUCTS *)
  MERG MIX 1 2 3
  MICR ALL
  SAVE ;
OUTMIC1 := OUT :: STEP UP 'REF-CASE0001' ; (* FIRST EDITION MACROLIB *)
OUT FLUX LIBRARY LIBRARY2 := DELETE: OUT FLUX LIBRARY LIBRARY2 ;

*----
* SHELF SHIELDING OF THE SECOND CALCULATION USING SHI
*----
LIBRARY := LIB: ::
  EDIT 1
  NMIX 3    (*MAXIMUM OF MATERIAL MIXTURES*)
  CTRA APOL (*APOLLO TYPE TRANSPORT CORRECTION*)
  ANIS 2
  ADED 4 NELAS N4N N2N N3N

  MIXS LIB: DRAGON FIL: DLIB_J2
  MIX 1 293.0
    U235    = U235   7.0803E-4 1
    U238    = U238   2.2604E-2 1
    O16     = O16    4.6624E-2
  MIX 2 293.0
    Zr0     = Zr0    4.3241E-2 2
  MIX 3 293.0
    H1      = H1_H2O 6.6988E-2
    O16     = O16    3.3494E-2
 ;
LIBRARY := SHI: LIBRARY TRACK :: EDIT 1 LJ GRMIN 45 ;

*----
* MAIN TRANSPORT CALCULATION OF THE SECOND CALCULATION
*----
CP := ASM: LIBRARY TRACK :: PIJ ;
FLUX := FLU: CP LIBRARY TRACK ::
TYPE B B1 SIGS EXTE 1.0E-7 ;
GREP: FLUX :: GETVAL  'B2  B1HOM' 1 >>B2<< ;
CP := DELETE: CP ;
assertS FLUX :: K-INFINITY 1 1.374964 ;

*----
* ADJOINT TRANSPORT CALCULATION OF THE SECOND CALCULATION
*----
MACRO := LIBRARY :: STEP UP MACROLIB ;
MACROT := T: MACRO ;
CP := ASM: MACROT TRACK :: PIJ ;
FLUX := FLU: FLUX CP MACROT TRACK ::
TYPE K RHS SIGS BUCK <<B2>> ;
CP := DELETE: CP ;
assertS FLUX :: K-EFFECTIVE 1 1.0 ;

*----
* CONSTRUCT AN EDITION MACROLIB FOR THE SECOND CALCULATION
*----
OUT := EDI: FLUX LIBRARY TRACK GEOM ::
  EDIT 2
  PROD (* KEYWORD TO OBTAIN ADJOINT-WEIGHTED BILINEAR PRODUCTS *)
  MERG MIX 1 2 3
  MICR ALL
  SAVE ;
OUTMIC2 := OUT :: STEP UP 'REF-CASE0001' ; (* SECOND EDITION MACROLIB *)
OUT FLUX LIBRARY := DELETE: OUT FLUX LIBRARY ;

*----
* PERTURBATIVE ANALYSIS USING DUO:
*----
DUO: OUTMIC1 OUTMIC2
  :: EDIT 2 ENERGY ISOTOPE MIXTURE
     REAC
       NTOT0 PICK >>rhoNtot0<<
       SCAT00 PICK >>rhoScat<<
       NUSIGF PICK >>rhoNuSigf<<
       LEAK PICK >>rhoLeak<<
     ENDREAC
     ;

ECHO "rhoNtot0=" rhoNtot0 ;
ECHO "rhoScat=" rhoScat ;
ECHO "rhoNuSigf=" rhoNuSigf ;
ECHO "rhoLeak=" rhoLeak ;

EVALUATE REFVALUE := -5.606881E+02 ;
EVALUATE DELTA := rhoNtot0 REFVALUE - ABS ;
IF DELTA 1.0 < THEN
  PRINT "TEST SUCCESSFUL; DELTA=" DELTA ;
ELSE
  PRINT "------------" ;
  PRINT "TEST FAILURE" ;
  PRINT "------------" ;
  PRINT "REFERENCE=" REFVALUE " CALCULATED=" rhoNtot0 ;
  ABORT: ;
ENDIF ;

EVALUATE REFVALUE := -7.184767E+02 ;
EVALUATE DELTA := rhoScat REFVALUE - ABS ;
IF DELTA 1.0 < THEN
  PRINT "TEST SUCCESSFUL; DELTA=" DELTA ;
ELSE
  PRINT "------------" ;
  PRINT "TEST FAILURE" ;
  PRINT "------------" ;
  PRINT "REFERENCE=" REFVALUE " CALCULATED=" rhoScat ;
  ABORT: ;
ENDIF ;

EVALUATE REFVALUE := 4.004554E+01 ;
EVALUATE DELTA := rhoNuSigf REFVALUE - ABS ;
IF DELTA 1.0 < THEN
  PRINT "TEST SUCCESSFUL; DELTA=" DELTA ;
ELSE
  PRINT "------------" ;
  PRINT "TEST FAILURE" ;
  PRINT "------------" ;
  PRINT "REFERENCE=" REFVALUE " CALCULATED=" rhoNuSigf ;
  ABORT: ;
ENDIF ;

EVALUATE REFVALUE := -1.177568E+02 ;
EVALUATE DELTA := rhoLeak REFVALUE - ABS ;
IF DELTA 1.0 < THEN
  PRINT "TEST SUCCESSFUL; DELTA=" DELTA ;
ELSE
  PRINT "------------" ;
  PRINT "TEST FAILURE" ;
  PRINT "------------" ;
  PRINT "REFERENCE=" REFVALUE " CALCULATED=" rhoLeak ;
  ABORT: ;
ENDIF ;

ECHO "test testDuo_B1 completed" ;
END: ;