summaryrefslogtreecommitdiff
path: root/Donjon/data/channel_mphy_proc/Axial_Refl.c2m
blob: f6fe4aa8cca0416303c22e1ff077b5cbcd2575bc (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
***********************************************************
*                                                         *
* Procedure :  Axial_Refl.c2m                             *
* Purpose   :  Set the PWR axial reflector properties     *
*                                                         *
* CALL      :  CpRefl := Axial_Refl ;                     *
*                                                         *
***********************************************************

PARAMETER CpRefl ::
      ::: LINKED_LIST
          CpRefl ; ;

MODULE      MAC: UTL: EDI: COMPO: DELETE: END: ;
LINKED_LIST Macro Edition ;

REAL TOTAL1_inf   TOTAL2_inf
     DIFF1_inf    DIFF2_inf
     SCAT1to1_inf SCAT2to2_inf
     SCAT1to2_inf SCAT2to1_inf ;

REAL TOTAL1_sup   TOTAL2_sup
     DIFF1_sup    DIFF2_sup
     SCAT1to1_sup SCAT2to2_sup
     SCAT1to2_sup SCAT2to1_sup ;

*---
*  Inferior (Foot)
*---
EVALUATE TOTAL1_inf TOTAL2_inf :=
         .141535E+01 .261305E-01 +
         .511240E+00 .198432E-01 + ;

EVALUATE DIFF1_inf DIFF2_inf :=
         1. 3. TOTAL1_inf * /
         1. 3. TOTAL2_inf * / ;

EVALUATE SCAT1to1_inf SCAT2to2_inf :=
         .141535E+01  .511240E+00 ;

EVALUATE SCAT1to2_inf SCAT2to1_inf :=
         .187184E-01  .742590E-04 ;

*---
*  Superior (Head)
*---
EVALUATE TOTAL1_sup TOTAL2_sup :=
         .158287E+01 .276758E-01 +
         .503068E+00 .282751E-01 + ;

EVALUATE DIFF1_sup DIFF2_sup :=
         1. 3. TOTAL1_sup * /
         1. 3. TOTAL2_sup * / ;

EVALUATE SCAT1to1_sup SCAT2to2_sup :=
         .158287E+01  .503068E+00 ;

EVALUATE SCAT1to2_sup SCAT2to1_sup :=
         .200239E-01  .955672E-04 ;

INTEGER  BoronIndex := 1 ;
REAL     BoronConc ;

WHILE BoronIndex 5 <= DO
*---
* BoronIndex  BoronConc [ppm]
* ----------  --------------
*          1          0.
*          2        100.
*          3        600.
*          4       1800.
*          5       2200.
*---  
  IF BoronIndex 1 = THEN

    EVALUATE BoronConc := 0. ;
    
  ELSEIF BoronIndex 2 = THEN
    
    EVALUATE BoronConc := 100. ;

  ELSEIF BoronIndex 3 = THEN
    
    EVALUATE BoronConc := 600. ;

  ELSEIF BoronIndex 4 = THEN
    
    EVALUATE BoronConc := 1800. ;

  ELSEIF BoronIndex 5 = THEN

    EVALUATE BoronConc := 2200. ;

  ENDIF ;
    
*---
*  Reflector definition
*---

  Macro := MAC: ::
    EDIT 1 NGRO 2 NMIX 1 NIFI 0
    ANIS 1 CTRA NONE
    ENER 2.E7 0.625 1.E-3
    VOLUME 1.
    READ INPUT

    MIX 1 ! Lower Reflector
      FLUX-INTG  1. 1.
      TOTAL <<TOTAL1_inf>> <<TOTAL2_inf>>
      DIFF  <<DIFF1_inf>> <<DIFF2_inf>>
      SCAT 2 2 (*2->1*) 0.               (*1->1*) <<SCAT1to1_inf>>
           2 2 (*2->2*) <<SCAT2to2_inf>> (*1->2*) <<SCAT1to2_inf>>

    NORM
  ;

  Edition := EDI: Macro :: 
          EDIT 1
          SAVE
          ;

  IF BoronIndex 1 = THEN

    CpRefl := COMPO: ::
              EDIT 1
              COMM
 'light reflector XS'
              ENDC
              PARA 'C-BORE' VALU REAL
              INIT
              ;
  ENDIF ;

  CpRefl := COMPO: CpRefl Edition ::
            EDIT 1
            C-BORE <<BoronConc>>
            MACRO
            ;  

  Macro Edition := DELETE: Macro Edition ;
  
  EVALUATE BoronIndex := BoronIndex 1 + ;
  
ENDWHILE ;

END: ;
QUIT .