-
Notifications
You must be signed in to change notification settings - Fork 1
/
parameters_U235.py
201 lines (167 loc) · 10.7 KB
/
parameters_U235.py
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
import numpy as np
import math
pi = math.pi
# domain
t0 = 0.0
tf = 1000.00
T = np.arange(t0,tf,0.01)
# NEUTRONICS DATA
tau_l = 16.73 # ORNL-TM-0728 %16.44; % (s)
tau_c = 8.46 # ORNL-TM-0728 %8.460; % (s)
P = 8 # Thermal Power in MW ORNL-TM-1070, p.2
n_frac0 = 1.0 # initial fractional neutron density n/n0 (n/cm^3/s)
Lam = 2.400E-04 # mean generation time ORNL-TM-1070 p.15 U235
# Lam = 4.0E-04; # mean generation time ORNL-TM-1070 p.15 U233
lam = np.array([1.240E-02, 3.05E-02, 1.11E-01, 3.01E-01, 1.140E+00, 3.014E+00])
beta = np.array([0.000223, 0.001457, 0.001307, 0.002628, 0.000766, 0.00023]) # U235
# beta = np.array([0.00023, 0.00079, 0.00067, 0.00073, 0.00013, 0.00009]) # U233
beta_t = np.sum(beta) # total delayed neutron fraction MSRE
rho_0 = beta_t-sum(np.divide(beta,1+np.divide(1-np.exp(-lam*tau_l),lam*tau_c))) # reactivity change in going from stationary to circulating fuel
C0 = beta / Lam * (1.0 / (lam - (np.exp(-lam * tau_l) - 1.0) / tau_c))
# Feedback co-efficients
a_f = -8.71E-05 # U235 (drho/°C) fuel salt temperature-reactivity feedback coefficient ORNL-TM-1647 p.3 % -5.904E-05; % ORNL-TM-0728 p. 101 %
a_g = -6.66E-05 # U235 (drho/°C) graphite temperature-reactivity feedback coefficient ORNL-TM-1647 p.3 % -6.624E-05; % ORNL-TM-0728 p.101
# CORE HEAT TRANSFER PARAMETERS
# FUEL PARAMETERS - DONE
vdot_f = 7.5708E-02 # ORNL-TM-0728 % 7.571e-2; % vol. flow rate (m^3/s) ORNL-TM-1647 p.3, ORNL-TM-0728 p.12
rho_f = 2.14647E+03 # (partially enriched U-235)ORNL-TM-0728 p.8 2.243E+03; % (Th-U) density of fuel salt (kg/m^3) ORNL-TM-0728 p.8
W_f = 1.623879934566580e+02 # 1.83085e+02;%vdot_f*rho_f; % 182.78; % calcd from m_dot*cp*delT=P; vdot_f*rho_f; % fuel flow rate (kg/s)
# tau_f_c = tau_c; % ORNL-TM-0728 % 8.45; % transit time of fuel in core (s) ORNL-TM-1070 p.15, TDAMSRE p.5
m_f = W_f * tau_c # fuel mass in core (kg)
nn_f = 2 # number of fuel nodes in core model
mn_f = m_f / nn_f # fuel mass per node (kg)
# cp_f = 4.2*9/5; % (MJ/deg-C) total fuel heat capacity TDAMSRE p.5
scp_f = 1.9665E-3 # specific heat capacity of fuel salt (MJ/kg-C) ORNL-TM-0728 p.8
# Core Upflow - DONE
v_g = 1.95386 # graphite volume(m^3) ORNL-TM-0728 p. 101
rho_g = 1.860E3 # graphite density (kg/m^3) ORNL-3812 p.77, ORNL-TM-0728 p.87
m_g = v_g * rho_g # graphite mass (kg)
cp_g = 3.6 * 9 / 5 # TDAMSRE p.5 graphite total heat capacity (MW-s/C) ORNL-TM-1647 p.3
scp_g = 1.773E-3 # cp_g/m_g; % graphite specific heat capacity (MW-s/kg-C) ORNL-TM-1647 p.3
mcp_g1 = m_g * scp_g # (mass of material x heat capacity of material) of graphite per lump (MW-s/°C)
mcp_f1 = mn_f * scp_f # (mass of material x heat capacity of material) of fuel salt per lump (MW-s/°C)
mcp_f2 = mn_f * scp_f # (mass of material x heat capacity of material) of fuel salt per lump (MW-s/°C)
hA_fg = 0.02 * 9 / 5 # (fuel to graphite heat transfer coeff x heat transfer area) (MW/°C) ORNL-TM-1647 p.3, TDAMSRE p.5
k_g = 0.07 # fraction of total power generated in the graphite ORNL-TM-0728 p.9
k_1 = 0.5 # fraction of heat transferred from graphite which goes to the first fuel lump
k_2 = 0.5 # fraction of heat transferred from graphite which goes to the second fuel lump
k_f = 0.93 # fraction of heat generated in fuel - that generated in the external loop ORNL-TM-0728 p.9
k_f1 = k_f / nn_f # fraction of total power generated in lump f1
k_f2 = k_f / nn_f # fraction of total power generated in lump f2
# New node for power deposited in fuel outside the core
k_out = 1 - (k_g + k_f) # fraction of power generated in fuel in external loop ORNL-TM-0728 p.9
m_out = W_f # (kg) Mass of node such that resident time is 1 sec (W_f needs to be defined)
# Initial conditions - DONE
Tf_in = 6.3222E+02 # in °C ORNL-TM-1647 p.2
T0_f2 = 6.5727E+02 # 6.5444E+02; % in °C 6.461904761904777e+02; ORNL-TM-1647 p.2
T0_f1 = Tf_in + (T0_f2 - Tf_in) / 2 # 6.405952380952389e+02; in °C
T0_g1 = T0_f1 + (k_g * P / hA_fg) # 6.589285714285924e+02; in °C
# T0_out = k_out * P / m_out / scp_f + T0_f2 # in °C (scp_f needs to be defined)
# Heat Exchanger - DONE
# Geometry
d_he = 16 # (in) he diameter ORNL-TM-0728 p. 164
h_he = 72 # (in) active height % 96; %(in) he height ORNL-TM-0728 p. 164
od_tube = 0.5 # (in) coolant tube OD ORNL-TM-0728 p. 164
id_tube = od_tube - 2 * 0.042 # (in) coolant tube ID ORNL-TM-0728 p. 164
n_tube = 159 # number of coolant tubes ORNL-TM-0728 p. 164
a_tube = 254 * 144 # (in^2) total area of tubes ORNL-TM-0728 p. 164
l_tube = a_tube / n_tube / (np.pi * od_tube) # (in) tube length
v_tube = n_tube * np.pi * (od_tube / 2) ** 2 * l_tube # (in^3) hx shell volume occupied by tubes
v_cool = n_tube * np.pi * (id_tube / 2) ** 2 * l_tube # (in^3) hx volume occupied by coolant
v_he = (d_he / 2) ** 2 * np.pi * h_he # (in^3) volume of heat exchanger shell
v_he_fuel = v_he - v_tube # (in^3) volume available to fuel in shell
# Unit conversions
in_m = 1.63871e-5 # 1 cubic inch = 1.63871e-5 cubic meters
# PRIMARY FLOW PARAMETERS - DONE
W_p = W_f # fuel flow rate (kg/s)
m_p = v_he_fuel * in_m * rho_f # fuel mass in PHE (kg)
nn_p = 4 # number of fuel nodes in PHE
mn_p = m_p / nn_p # fuel mass per node (kg)
cp_p = scp_f # fuel heat capacity (MJ/(kg-C))
# SECONDARY FLOW PARAMETERS - DONE
vdot_s = 5.36265E-02 # ORNL-TM-0728 p. 164 % 5.236E-02; % coolant volume flow rate (m^3/s) ORNL-TM-1647 p.3
rho_s = 1.922e3 # coolant salt density (kg/m^3) ORNL-TM-0728 p.8
W_s = 1.005793369810108e+02 # vdot_s*rho_s; % calcd from mdot*cp*delT; vdot_s*rho_s; % coolant flow rate (kg/s) ORNL-TM-1647 p.3
m_s = v_cool * in_m * rho_s # coolant mass in PHE (kg)
nn_s = 4 # number of coolant nodes in PHE
mn_s = m_s / nn_s # coolant mass per node (kg)
scp_s = 2.39E-3 # cp_s/m_s; % specific heat capacity of coolant (MJ/(kg-C) ORNL-TM-0728 p.8
A_phe = 2.359E+01 # effective area for heat transfer (primary and secondary, m^2) ORNL-TM-0728 p.164
ha_p = 6.480E-01 # heat transfer*area coefficient from primary to tubes (MW/C) ORNL-TM-1647 p.3
ha_s = 3.060E-01 # heat transfer*area coefficient from tubes to secondary (MW/C) ORNL-TM-1647 p.3
# Primary Side
mcp_pn = mn_p * cp_p # (mass of material x heat capacity of material) of fuel salt per lump in MW-s/°C
hA_pn = ha_p / nn_s # 3.030; % (primary to tube heat transfer coeff x heat transfer area) in MW/°C
# Tubes - DONE
nn_t = 2 # number of nodes of tubes in the model
rho_tube = 8.7745E+03 # (kg/m^3) density of INOR-8 ORNL-TM-0728 p.20
m_tn = (v_tube - v_cool) * in_m * rho_tube / nn_t # mass of tubes (kg)
scp_t = 5.778E-04 # specific heat capacity of tubes (MJ/(kg-C)) ORNL-TM-0728 p.20
mcp_tn = m_tn * scp_t # mass*(heat capacity) of tubes per lump in MW-s/°C
# Secondary Side - DONE
mcp_sn = mn_s * scp_s # (mass of material x heat capacity of material) of coolant salt per lump in MW-s/°C
hA_sn = ha_s / nn_s # (tube to secondary heat transfer coeff x heat transfer area) in MW/°C
# Initial conditions - DONE
# Primary nodes
Tp_in = T0_f2 # in °C ORNL-TM-1647 p.2
T0_p4 = Tf_in # 6.5444E+02; % in °C 6.461904761904777e+02; ORNL-TM-1647 p.2
T0_p1 = Tp_in + (T0_p4 - Tp_in) / 4 # in °C
T0_p2 = Tp_in + 2 * (T0_p4 - Tp_in) / 4 # in °C
T0_p3 = Tp_in + 3 * (T0_p4 - Tp_in) / 4 # in °C
# Secondary nodes
Ts_in = 5.4611E+02 # in °C ORNL-TM-1647 p.2
T0_s4 = 5.7939E+02 # in °C ORNL-TM-1647 p.2
T0_s1 = Ts_in + (T0_s4 - Ts_in) / nn_s # in °C
T0_s2 = Ts_in + 2 * (T0_s4 - Ts_in) / nn_s # in °C
T0_s3 = Ts_in + 3 * (T0_s4 - Ts_in) / nn_s # in °C
# Tube nodes
T0_t1 = (T0_p1 * hA_pn + T0_s3 * hA_sn) / (hA_pn + hA_sn) # in °C
T0_t2 = (T0_p3 * hA_pn + T0_s1 * hA_sn) / (hA_pn + hA_sn) # in °C
# Radiator Parameters - DONE
# Initial conditions - DONE
# Primary nodes
Trp_in = T0_s4 # 5.933E+02; % in °C ORNL-TM-1647 p.2
T0_rp = Ts_in # in °C ORNL-TM-1647 p.2
# Secondary nodes - DONE
Trs_in = 37.78 # (C) air inlet temperature ORNL-TM-1647 p.2
T0_rs = 148.9 # (C) air exit temperature ORNL-TM-1647 p.2
# Radiator Geometry
od_rad = 0.01905 # (m) outer diameter of tubes in the radiator ORNL-TM-0728 p.296
tube_wall_thick = 0.0018288 # (m) thickness of tubes in the radiator ORNL-TM-0728 p.296
id_rad = od_rad - 2 * tube_wall_thick
n_rtubes = 120 # number of tubes in the radiator (rows times tubes per row) ORNL-TM-0728 p.296
l_rtube = 9.144 # (m) length of tubes in the radiator ORNL-TM-0728 p.296
v_rp = pi * (id_rad / 2) ** 2 * l_rtube * n_rtubes # volume available to salt in the radiator
# v_rtube = pi * (od_rad / 2) ** 2 * l_rtube * n_rtubes - v_rp # volume of metal in radiator tubes *TUBES NOT MODELED
n_tpr = 12 # number of tubes per row in the radiator matrix
n_row = 10 # number rows in the radiator matrix
tube_space = 0.0381 # (m) spacing between tubes and rows of matrix
v_rs = (n_row * od_rad + (n_row - 1) * tube_space) * (n_tpr * od_rad + (n_tpr - 1) * tube_space) * l_rtube # volume of air inside radiator
# PRIMARY FLOW PARAMETERS - DONE
W_rp = W_s # coolant salt flow rate (kg/s)
m_rp = v_rp * rho_s # coolant salt mass in rad (kg)
nn_rp = 1 # number of coolant salt nodes in the radiator
mn_rp = m_rp / nn_rp # coolant mass per node (kg)
cp_rp = scp_s # coolant specific heat capacity (MJ/(kg-C))
# SECONDARY FLOW PARAMETERS - DONE
vdot_rs = 94.389 # ORNL-TM-0728 p. 296; 78.82; % air volume flow rate (m^3/s) ORNL-TM-1647 p.2
rho_rs = 1.1237 # air density (kg/m^3) REFPROP (310K and 0.1MPa)
W_rs = vdot_rs * rho_rs # air flow rate (kg/s)
m_rs = v_rs * rho_rs # coolant air mass in rad (kg)
nn_rs = 1 # number of coolant nodes in rad
mn_rs = m_rs / nn_rs # coolant mass per node (kg)
scp_rs = 1.0085E-3 # (MJ/kg-C) specific heat capacity of air at (air_out+air_in)/2 REFPROP
A_rad = 6.503E1 # (m^2) surface area of the radiator ORNL-TM-0728 p.14
h_roverall = P / A_rad / ((T0_rp + Trp_in) / 2 - (T0_rs + Trs_in) / 2) # cald as: P/A_rad/((T0_rp+Trp_in)/2-(T0_rs+Trs_in)/2) 3.168E-4; % (MW/m^2-C) polimi thesis
# Primary Side
mcp_rpn = mn_rp * cp_rp # (mass of material x heat capacity of material) of fuel salt per lump in MW-s/°C
hA_rpn = h_roverall * A_rad / nn_rs # 3.030; % (primary to secondary heat transfer coeff x heat transfer area) in MW/°C
# Secondary Side - DONE
mcp_rsn = mn_rs * scp_rs # (mass of material x heat capacity of material) of coolant salt per lump in MW-s/°C
hA_rsn = h_roverall * A_rad / nn_rs # (tube to secondary heat transfer coeff x heat transfer area) in MW/°C
# Pure time delays between components - DONE
tau_hx_c = 8.67 # (sec) delay from hx to core TDAMSRE p.6
tau_c_hx = 3.77 # (sec) subtracted 1 sec for external loop power generation node resident time; delay from core to fuel hx TDAMSRE p.6
tau_hx_r = 4.71 # (sec) fertile hx to core TDAMSRE p.6
tau_r_hx = 8.24 # (sec) core to fertile hx TDAMSRE p.6
first_val = (rho_0 - beta_t) * n_frac0 / Lam + lam[0] * C0[0] + lam[1] * C0[1] + lam[2] * C0[2] + lam[3] * C0[3] + lam[4] * C0[4] + lam[5] * C0[5]