summaryrefslogtreecommitdiff
path: root/Donjon/data/pincell_mphy_thm.x2m
blob: a7c8fb7ea56ac023fd521ca075d55da7b134da4b (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
212
213
***********************************************************
* Input file :  pincell_mphy_thm.x2m                      *
*                                                         *
* Test of a PWR single pincell                            *
*                                                         *
* The aim is to test the THM module of DONJON             *
***********************************************************
 
LINKED_LIST Geom Track Flux Cpo Matex Lib MicroF MacroF Macro2 Fmap
            System Power Burnup Thm DONNEES ;
MODULE      GEO: RESINI: TRIVAT: TRIVAA: GREP: FIND0: NCR: FLUD: FLPOW:
            MACINI: USPLIT: TINST: UTL: DELETE: ABORT: THM: END: ;

PROCEDURE   assertS ;
SEQ_ASCII   _ACompo ;
INTEGER     maxstep := 67 ;
REAL        Fuelpwr := 38.425 ; ! W/g ou kW/kg ou MW/t
REAL        Mass := 4.655149E-3 ; ! kg
*----
*  Calculation options
*----
STRING Dir := "EDI2B" ;
REAL   Tfuel := 318.20357 ; (*fuel temperature (K)*)
REAL   Tcool := 318.15044 ; (*coolant temperature (K)*)
REAL   Dfuel := 9.7413951 ; (*fuel density (g/cc)*)
REAL   dens_mod_0 := 0.65 ;
REAL   powi := Fuelpwr Mass * 1.E3 / ;
ECHO "total reactor power=" powi "MW" ;

*----
*  Recover the Multicompo
*----
Cpo := _ACompo ;
UTL: Cpo :: DIR ;

INTEGER MaxR := 10000 ;
INTEGER Iter := 1 ;
REAL keff11 keff12 keff1n ;
REAL Y1 Y2 ROOT YNEW ;
LOGICAL CONV ;

REAL maxh := 80.0 ;
REAL z1 := maxh 20.0 / ;
REAL z2 := maxh 20.0 / z1 + ;
REAL z3 := maxh 20.0 / z2 + ;
REAL z4 := maxh 20.0 / z3 + ;
REAL z5 := maxh 20.0 / z4 + ;
REAL z6 := maxh 20.0 / z5 + ;
REAL z7 := maxh 20.0 / z6 + ;
REAL z8 := maxh 20.0 / z7 + ;
REAL z9 := maxh 20.0 / z8 + ;
REAL z10 := maxh 20.0 / z9 + ;
REAL z11 := maxh 20.0 / z10 + ;
REAL z12 := maxh 20.0 / z11 + ;
REAL z13 := maxh 20.0 / z12 + ;
REAL z14 := maxh 20.0 / z13 + ;
REAL z15 := maxh 20.0 / z14 + ;
REAL z16 := maxh 20.0 / z15 + ;
REAL z17 := maxh 20.0 / z16 + ;
REAL z18 := maxh 20.0 / z17 + ;
REAL z19 := maxh 20.0 / z18 + ;
REAL z20 := maxh 20.0 / z19 + ;

REAL Cote      := 1.26  ;
Geom := GEO: :: CAR3D 1 1 20
   X- REFL X+ REFL    Y- REFL Y+ REFL    Z- REFL Z+ REFL
   MESHX 0.0 <<Cote>>
   MESHY 0.0 <<Cote>>
   MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
         <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
         <<z17>> <<z18>> <<z19>> <<z20>>
   MIX
   PLANE 1
      1
   PLANE 2  SAME 1
   PLANE 3  SAME 1
   PLANE 4  SAME 1
   PLANE 5  SAME 1
   PLANE 6  SAME 1
   PLANE 7  SAME 1
   PLANE 8  SAME 1
   PLANE 9  SAME 1
   PLANE 10 SAME 1
   PLANE 11 SAME 1
   PLANE 12 SAME 1
   PLANE 13 SAME 1
   PLANE 14 SAME 1
   PLANE 15 SAME 1
   PLANE 16 SAME 1
   PLANE 17 SAME 1
   PLANE 18 SAME 1
   PLANE 19 SAME 1
   PLANE 20 SAME 1
;

Geom Matex := USPLIT: Geom :: NGRP 2 MAXR <<MaxR>>
               NFUEL 1  FMIX  1
;

Track := TRIVAT: Geom ::
   EDIT 1 MAXR <<MaxR>> MCFD 1 ;

*--
* Fuel map definition
*--
Fmap Matex := RESINI: Matex ::
      ::: GEO: CAR3D 1 1 20
                EDIT  0
                X- REFL X+ REFL    Y- REFL Y+ REFL    Z- REFL Z+ REFL
   MESHX 0.0 <<Cote>>
   MESHY 0.0 <<Cote>>
   MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
         <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
         <<z17>> <<z18>> <<z19>> <<z20>>
   MIX
   PLANE 1
      1
   PLANE 2  SAME 1
   PLANE 3  SAME 1
   PLANE 4  SAME 1
   PLANE 5  SAME 1
   PLANE 6  SAME 1
   PLANE 7  SAME 1
   PLANE 8  SAME 1
   PLANE 9  SAME 1
   PLANE 10 SAME 1
   PLANE 11 SAME 1
   PLANE 12 SAME 1
   PLANE 13 SAME 1
   PLANE 14 SAME 1
   PLANE 15 SAME 1
   PLANE 16 SAME 1
   PLANE 17 SAME 1
   PLANE 18 SAME 1
   PLANE 19 SAME 1
   PLANE 20 SAME 1
;
!
NXNAME '01' NYNAME  'A'
NCOMB 1
B-ZONE 1

ADD-PARAM PNAME 'T-FUEL' PARKEY 'TFA' GLOBAL
ADD-PARAM PNAME 'T-COOL' PARKEY 'TCA' GLOBAL
ADD-PARAM PNAME 'D-FUEL' PARKEY 'DFA' GLOBAL
ADD-PARAM PNAME 'D-COOL' PARKEY 'DCA' GLOBAL
BTYPE INST-BURN
INST-BVAL CHAN 0.0
REACTOR-POW <<powi>> AXIAL-PFORM 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
                                 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
SET-PARAM 'T-FUEL' <<Tfuel>>
SET-PARAM 'T-COOL' <<Tcool>>
SET-PARAM 'D-FUEL' <<Dfuel>>
SET-PARAM 'D-COOL' <<dens_mod_0>>
FUEL WEIGHT <<Mass>>
;

UTL: Fmap :: STEP UP PARAM STEP AT 4 DIR IMPR P-NAME * ;
*--
* THM single-stage calculation
*--
Thm Fmap := THM: Fmap ::
    EDIT 20
    FPUISS 0.93
    INLET 330000.0 (*Pa*) 318.15 (*K*)
    INLET-Q 7.9770045E-5 (*m2*) 0.375 (*inlet mass flow rate kg/s*)
    CRITFL 8.5E6 (* W/m^2 *)
    ASSMB 1 0
    RADIUS 4.55063E-3 4.60169E-3 5.00184E-3 5.00184E-3 (* m *)
    RODMESH 15 20
    MONO
;

*--
* Dump THM object
*--
UTL: Thm :: DIR DUMP ;

*--
* Cross-section database interpolation
*--
MicroF := NCR: Cpo Fmap ::
       EDIT 2
       MICRO LINEAR
       TABLE Cpo <<Dir>> 'burnup'
         MIX 1 INST-BURN
               SET LINEAR 'burnup' MAP
               SET CUBIC 'DCA' <<dens_mod_0>>
               SET CUBIC 'DCAH' <<dens_mod_0>>
               ADD 'DCA' <<dens_mod_0>> MAP
                        REF 'burnup' SAMEASREF
                        ENDREF
         ENDMIX
  ;
MacroF := MicroF :: STEP UP 'MACROLIB' ;
  
Macro2 Matex := MACINI: Matex MacroF :: FUEL ;
  
*--
* Steady-state diffusion calculation
*--
System := TRIVAA: Macro2 Track ;

Flux := FLUD: System Track :: EDIT 1 ADI 4 ACCE 5 3 ;
System MacroF Macro2 := DELETE: System MacroF Macro2 ;

GREP: Flux :: GETVAL 'K-EFFECTIVE' 1 >>keff11<< ;
ECHO "+++ Burnup= 0.0 Keff=" keff11 ;

assertS Flux :: 'K-EFFECTIVE' 1 1.335314 ;

ECHO "test pincell_mphy_thm.x2m completed" ;
END: ;