blob: b79b1806cd5da76c5954e33058500cae8c3eb4c6 (
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
|
*----
* TEST CASE LMW 2D
*
* REF: G. Greenman, "A Quasi-Static Flux Synthesis Temporal Integration
* Scheme for an Analytic Nodal Method," Nuclear Engineer's Thesis,
* Massachusetts Institute of Technology, Department of Nuclear
* Engineering (May 1980).
*
*----
* Define STRUCTURES and MODULES used
*----
LINKED_LIST LMW TRACK MACRO1 SYSTEM1 MACRO2 SYSTEM2 FLUX KINET ;
MODULE GEO: MAC: TRIVAT: TRIVAA: FLUD: INIKIN: KINSOL: GREP: DELETE:
END: ;
REAL fnorm sigt1 sigt2 ;
REAL TIME := 0.0 ;
PROCEDURE assertS assertS2 ;
*
LMW := GEO: :: CAR2D 6 6
X- REFL X+ ZERO
Y- REFL Y+ ZERO
MIX 1 1 1 2 3 4
1 1 1 1 3 4
1 1 5 1 3 4
6 1 1 3 3 4
3 3 3 3 4 4
4 4 4 4 4 0
MESHX 0.0 10. 30. 50. 70. 90. 110.
MESHY 0.0 10. 30. 50. 70. 90. 110.
SPLITX 2 2 2 2 2 2
SPLITY 2 2 2 2 2 2
;
MACRO1 := MAC: ::
EDIT 0 NGRO 2 NMIX 6
READ INPUT
MIX 1
DIFF 1.423910E+00 3.563060E-01
TOTAL 2.795756E-02 8.766216E-02
NUSIGF 6.477691E-03 1.127328E-01
H-FACTOR 2.591070E-03 4.509310E-02
SCAT 1 1 0.0 2 2 0.0 0.175555E-01
OVERV 0.800E-07 4.000E-06
MIX 2
DIFF 1.423910E+00 3.563060E-01
TOTAL 2.850756E-02 9.146219E-02
NUSIGF 6.477691E-03 1.127328E-01
H-FACTOR 2.591070E-03 4.509310E-02
SCAT 1 1 0.0 2 2 0.0 0.175555E-01
OVERV 0.800E-07 4.000E-06
MIX 3
DIFF 1.425610E+00 3.505740E-01
TOTAL 2.817031E-02 9.925634E-02
NUSIGF 7.503282E-03 1.378004E-01
H-FACTOR 3.001310E-03 5.512106E-02
SCAT 1 1 0.0 2 2 0.0 0.171777E-01
OVERV 0.800E-07 4.000E-06
MIX 4
DIFF 1.634220E+00 2.640020E-01
TOTAL 3.025750E-02 4.936351E-02
SCAT 1 1 0.0 2 2 0.0 0.275969E-01
OVERV 0.800E-07 4.000E-06
MIX 5
DIFF 1.423910E+00 3.563060E-01
TOTAL 2.795756E-02 8.766216E-02
NUSIGF 6.477691E-03 1.127328E-01
H-FACTOR 2.591070E-03 4.509310E-02
SCAT 1 1 0.0 2 2 0.0 0.175555E-01
OVERV 0.800E-07 4.000E-06
MIX 6
DIFF 1.423910E+00 3.563060E-01
TOTAL 2.850756E-02 9.146217E-02
NUSIGF 6.477691E-03 1.127328E-01
H-FACTOR 2.591070E-03 4.509310E-02
SCAT 1 1 0.0 2 2 0.0 0.175555E-01
OVERV 0.800E-07 4.000E-06
;
TRACK := TRIVAT: LMW ::
TITLE 'LMW 2-D BENCHMARK'
EDIT 1 MAXR 144 MCFD 2 ;
SYSTEM1 := TRIVAA: MACRO1 TRACK ::
EDIT 1 UNIT ;
FLUX := FLUD: SYSTEM1 TRACK ::
EDIT 1 EXTE 5.0E-7 ;
assertS FLUX :: 'K-EFFECTIVE' 1 1.014803 ;
*----
* Crank-Nicholson space-time kinetics
*----
EVALUATE TIME := 0.0 ;
KINET := INIKIN: MACRO1 TRACK SYSTEM1 FLUX :: EDIT 1
NDEL 6
BETA 0.000247 0.0013845 0.001222 0.0026455 0.000832 0.000169
LAMBDA 0.0127 0.0317 0.115 0.311 1.40 3.87
CHID 1.0 1.0 1.0 1.0 1.0 1.0
0.0 0.0 0.0 0.0 0.0 0.0
NORM POWER-INI 1.0E4 ;
EVALUATE sigt1 := 2.850756E-02 ;
EVALUATE sigt2 := 9.146217E-02 ;
WHILE TIME 26.7 <= DO
EVALUATE sigt1 := sigt1 5.5E-4 0.1 26.7 / * - ;
EVALUATE sigt2 := sigt2 3.8E-3 0.1 26.7 / * - ;
MACRO2 := MAC: MACRO1 ::
EDIT 0
READ INPUT
MIX 6
TOTAL <<sigt1>> <<sigt2>>
;
SYSTEM2 := TRIVAA: MACRO2 TRACK ::
EDIT 1 UNIT ;
KINET := KINSOL: KINET MACRO2 TRACK SYSTEM2 MACRO1 SYSTEM1 ::
EDIT 5 DELTA 0.1
SCHEME FLUX CRANK PREC CRANK EXTE 1.0E-6 ;
GREP: KINET :: GETVAL 'TOTAL-TIME' 1 >>TIME<< ;
ECHO "TIME=" TIME "S" "sigt=" sigt1 sigt2 ;
IF TIME 1.0 - ABS 1.0E-3 < THEN
assertS2 KINET :: 'E-POW' 1 1.008753E+04 ;
ELSEIF TIME 5.0 - ABS 1.0E-3 < THEN
assertS2 KINET :: 'E-POW' 1 1.063990E+04 ;
ELSEIF TIME 10.0 - ABS 1.0E-3 < THEN
assertS2 KINET :: 'E-POW' 1 1.176902E+04 ;
ELSEIF TIME 15.0 - ABS 1.0E-3 < THEN
assertS2 KINET :: 'E-POW' 1 1.352433E+04 ;
ELSEIF TIME 20.0 - ABS 1.0E-3 < THEN
assertS2 KINET :: 'E-POW' 1 1.621938E+04 ;
ELSEIF TIME 25.0 - ABS 1.0E-3 < THEN
assertS2 KINET :: 'E-POW' 1 2.047011E+04 ;
ELSEIF TIME 26.7 - ABS 1.0E-3 < THEN
assertS2 KINET :: 'E-POW' 1 2.245449E+04 ;
ENDIF ;
MACRO1 SYSTEM1 := DELETE: MACRO1 SYSTEM1 ;
MACRO1 := MACRO2 ;
SYSTEM1 := SYSTEM2 ;
MACRO2 SYSTEM2 := DELETE: MACRO2 SYSTEM2 ;
ENDWHILE ;
ECHO "test lmw2D completed" ;
|