summaryrefslogtreecommitdiff
path: root/Trivac/data/Ktests_proc/prim12_tri.c2m
blob: 26caf9bb1c3d9588334859eb4de46e476c7aeac4 (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
*----
*  TEST CASE ene6103
*
*  REF: A. Hebert, "Applied Reactor Physics", Presses Internationales
*       Polytechnique, Problem 5.12 (2009).
*
*----
*  Define STRUCTURES and MODULES used
*----
LINKED_LIST GEOM MACRO MACROP TRACK SYSTEM SYSTEMP FLUX EDIT KINET ;
MODULE GEO: MAC: TRIVAT: TRIVAA: FLUD: OUT: INIKIN: KINSOL: DELETE:
       GREP: END: ;
REAL FNORM ;
REAL TIME := 0.0 ;
PROCEDURE assertS assertS2 ;
*
GEOM := GEO: :: CAR1D 4
           X- ZERO X+ ZERO
           MIX  2 1 3 2
           MESHX 0.0 40.0 350.0 660.0 700.0
           SPLITX 1 4 4 1
           ;
*----
*  Macroscopic cross sections
*----
MACRO := MAC: ::
 EDIT 2 NGRO 2 NMIX 3 NIFI 1
 READ INPUT
 MIX     1
      DIFF  1.264E+00  0.9328E+00
     TOTAL  8.154E-03  4.1000E-03
    NUSIGF  0.000E+00  4.5620E-03
       CHI  1.000E+00  0.000E+00
  H-FACTOR  0.000E+00  4.5620E-03
      SCAT  1 1 0.0 2 2 0.0   7.368E-03
      OVERV 1.000E-07  5.000E-06
 MIX     2
      DIFF  1.310E+00  0.8695E+00
     TOTAL  1.018E-02  2.1170E-04
      SCAT  1 1 0.0 2 2 0.0   1.0180E-02
      OVERV 1.000E-07  5.000E-06
 MIX     3
      DIFF  1.264E+00  0.9328E+00
     TOTAL  8.154E-03  4.1000E-03
    NUSIGF  0.000E+00  4.5620E-03
       CHI  1.000E+00  0.000E+00
  H-FACTOR  0.000E+00  4.5620E-03
      SCAT  1 1 0.0 2 2 0.0   7.368E-03
      OVERV 1.000E-07  5.000E-06
 ;
*----
*  Steady-state calculation
*----
MACROP := MAC: MACRO ::
 EDIT 2
 READ INPUT
 MIX     1
     TOTAL  8.154E-03  4.0800E-03
 ;
TRACK := TRIVAT: GEOM ::
      TITLE 'BENCHMARK ENE6103'
      EDIT 99 MAXR 18 PRIM 1 ;
SYSTEM := TRIVAA: MACRO TRACK :: EDIT 5 UNIT ;
FLUX :=  FLUD: SYSTEM TRACK :: EDIT 2 EXTE 5.0E-7 ;
GREP: FLUX :: STEP UP FLUX GETVAL 2 14 >>FNORM<< ;
assertS FLUX :: 'K-EFFECTIVE' 1 0.9979773 ;
EVALUATE FNORM := 1.0 FNORM / ;
ECHO "Flux normalization factor=" FNORM ;
EDIT := OUT: FLUX TRACK MACRO GEOM :: EDIT 2 INTG IN ;
SYSTEMP := TRIVAA: MACROP TRACK :: EDIT 5 UNIT ;
*----
*  Implicit space-time kinetics
*----
KINET := INIKIN: MACRO TRACK SYSTEM FLUX :: EDIT 6
          NDEL 6
          BETA 0.000266 0.001491 0.001316
               0.002849 0.000896 0.000182
          LAMBDA 0.0127 0.0317 0.1150
                 0.3110 1.4000 3.8700
          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 <<FNORM>> ;
WHILE TIME 10.0 <= DO
  KINET := KINSOL: KINET MACROP TRACK SYSTEMP ::
      EDIT 5  DELTA 0.1 
      SCHEME  FLUX IMPLIC PREC IMPLIC EXTE 1.0E-6 ;
  GREP: KINET :: GETVAL 'TOTAL-TIME' 1 >>TIME<< ;
  ECHO "TIME=" TIME "S" ;
  IF TIME 0.1 - ABS 1.0E-3 < THEN
    assertS2 KINET :: 'CTRL-FLUX' 1 1.177440 ;
    assertS2 KINET :: 'CTRL-PREC' 1 9.576575E-05 ;
  ELSEIF TIME 0.5 - ABS 1.0E-3 < THEN
    assertS2 KINET :: 'CTRL-FLUX' 1 1.545814 ;
    assertS2 KINET :: 'CTRL-PREC' 1 9.597623E-05 ;
  ELSEIF TIME 1.0 - ABS 1.0E-3 < THEN
    assertS2 KINET :: 'CTRL-FLUX' 1 1.759351 ;
    assertS2 KINET :: 'CTRL-PREC' 1 9.638877E-05 ;
  ELSEIF TIME 5.0 - ABS 1.0E-3 < THEN
    assertS2 KINET :: 'CTRL-FLUX' 1 2.845741 ;
    assertS2 KINET :: 'CTRL-PREC' 1 1.026191E-04 ;
  ELSEIF TIME 10.0 - ABS 1.0E-3 < THEN
    assertS2 KINET :: 'CTRL-FLUX' 1 4.577717 ;
    assertS2 KINET :: 'CTRL-PREC' 1 1.180071E-04 ;
  ENDIF ;
ENDWHILE ;
KINET := DELETE: KINET ;
*----
*  Crank-Nicholson space-time kinetics
*----
EVALUATE TIME := 0.0 ;
KINET := INIKIN: MACRO TRACK SYSTEM FLUX :: EDIT 6
          NDEL 6
          BETA 0.000266 0.001491 0.001316
               0.002849 0.000896 0.000182
          LAMBDA 0.0127 0.0317 0.1150
                 0.3110 1.4000 3.8700
          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 <<FNORM>> ;
WHILE TIME 10.0 <= DO
  KINET := KINSOL: KINET MACROP TRACK SYSTEMP ::
      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" ;
  IF TIME 0.1 - ABS 1.0E-3 < THEN
    assertS2 KINET :: 'CTRL-FLUX' 1 1.208721 ;
    assertS2 KINET :: 'CTRL-PREC' 1 9.575688E-05 ;
  ELSEIF TIME 0.5 - ABS 1.0E-3 < THEN
    assertS2 KINET :: 'CTRL-FLUX' 1 1.571855 ;
    assertS2 KINET :: 'CTRL-PREC' 1 9.595987E-05 ;
  ELSEIF TIME 1.0 - ABS 1.0E-3 < THEN
    assertS2 KINET :: 'CTRL-FLUX' 1 1.769088 ;
    assertS2 KINET :: 'CTRL-PREC' 1 9.637003E-05 ;
  ELSEIF TIME 5.0 - ABS 1.0E-3 < THEN
    assertS2 KINET :: 'CTRL-FLUX' 1 2.841198 ;
    assertS2 KINET :: 'CTRL-PREC' 1 1.025387E-04 ;
  ELSEIF TIME 10.0 - ABS 1.0E-3 < THEN
    assertS2 KINET :: 'CTRL-FLUX' 1 4.561928 ;
    assertS2 KINET :: 'CTRL-PREC' 1 1.177817E-04 ;
  ENDIF ;
ENDWHILE ;
ECHO "test prim12_tri completed" ;
END: ;