
- •Математическое моделирование химических и массообменных процессов
- •Теоретическая часть Классификация реакторов
- •Математическая модель реактора идеального перемешивания
- •Математическая модель идеального вытеснения
- •Практическая часть Исходные данные
- •Ход работы
- •Результаты исследования
- •Приложение a
- •Приложение б
- •Приложение в
- •Приложение г
Приложение в
import math
import matplotlib.pyplot as plt
C0 = [0.0328, 0.0, 0.0, 0.0]
k = [0.25, 0.1, 0.25]
Ea = [87230, 104750, 78610]
Q = [6280, -6280, 10640]
dl, Lk, T0 = 0.001, 10.0, 660
V = 1 # m3/s
d = 1.5 # m диаметр реактора
V_ap = 3.14*d**2/4*Lk # m3
K = 150 # Вт/(м2*К)
Tg0 = 720 # K
dg = 3 # m диаметр пространства горячего теплоносителя
Vg = (dg**2-d**2)*3.14/4*Lk
Rash = 1 # m3/s
u_g = Lk*Rash/Vg # м линейная скорость горячего теплоносителя
# a[0,0]=a a[0,1]=b .. для первого вещества
a =[[-1.054, 1.390e-1, -7.449e-5],
[-2.524, 1.477e-1, -8.533e-5],
[-3.489, 1.469e-1, -8.063e-5]]
n = 3
m = 3
R=8.314
R1=0.00845
PP=0.103
PP_g=0.203
Cp_g = 40000 # Дж/(моль*K)
def pr(c, k, Q, tem, tem_g):
s = sum(c)
cc = [c[i]/s for i in range(n)]
Cp = 0
f = [0 for i in range(n+2)]
for i in range(n):
Cp+= (a[i][0]+a[i][1]*tem+a[i][2]*tem*tem)*4.1887*cc[i]
f[0]=-k[0]*c[0]+k[1]*c[1]-k[2]*c[0];
f[1]=k[0]*c[0]-k[1]*c[1];
f[2]=k[2]*c[0];
f[3]=(-Q[0]*k[0]*c[0]-Q[1]*k[1]*c[1]-Q[2]*k[2]*c[2] + K*4*(tem_g-tem)/d)*R1*tem/PP/Cp
f[4]=(-K*3.14*d*Lk/Vg*(tem_g-tem))*R1*tem_g/PP_g/Cp_g
return f
k0 = [k[i]/math.exp(-Ea[i]/(R*T0)) for i in range(m)]
nn=int(Lk/dl/10)
print(' Результаты расчёта')
print('Таблица 1 – Расчёт РИВ в стационарном режиме политропический режим')
print('Время, с n-C8H18 i-C8H18 C4H10 T,K Tгор,К Xa')
l = 0
c = C0[:]
tem = T0
tem_g = Tg0
jn = 0
u_l = V*Lk/V_ap
xa = 0
print(f'{l:.1f}', ' ', f'{c[0]:.4f}', ' ', f'{c[1]:.4f}', ' ', f'{c[2]:.4f}', ' ',f'{tem:.4f}', ' ',f'{tem_g:.4f}', ' ', f'{xa:.4f}')
c_pl1 = []
c_pl2 = []
c_pl3 = []
tem_pl = []
tem_g_pl = []
while l<=Lk:
l+=dl
jn+=1
k=[k0[i]*math.exp(-Ea[i]/(R*tem)) for i in range(m)]
f = pr(c,k,Q,tem, tem_g)
c = [c[i]+dl*f[i]/u_l for i in range(n)]
c_pl1.append(c[0])
c_pl2.append(c[1])
c_pl3.append(c[2])
tem += dl*f[n]/u_l
tem_g += dl*f[n+1]/u_g
tem_pl.append(tem)
tem_g_pl.append(tem_g)
if jn==nn:
xa = (C0[0]-c[0])/C0[0]
print(f'{l:.1f}', ' ', f'{c[0]:.4f}', ' ', f'{c[1]:.4f}', ' ', f'{c[2]:.4f}', ' ',f'{tem:.4f}', ' ',f'{tem_g:.4f}', ' ', f'{xa:.4f}')
jn=0
x = [i*dl for i in range(int(Lk/dl)+1)]
plt.plot(x,c_pl1,x,c_pl2,x, c_pl3)
Приложение г
Таблица 2 – Расчет РИВ в стационарном режиме
Время, с |
Гексан |
2-метилпентан |
2,3-диметилбутан |
Т,К |
Тгор, К |
Ха |
0 |
0,0328 |
0 |
0 |
660 |
720 |
0 |
1 |
0,0044 |
0,0113 |
0,0170 |
715,2747 |
719,6212 |
0,8046 |
2 |
0,0026 |
0,0084 |
0,0218 |
718,9690 |
719,4118 |
0,9199 |
3 |
0,0019 |
0,0060 |
0,0250 |
718,6429 |
719,1575 |
0,9434 |
4 |
0,0013 |
0,0043 |
0,0272 |
718,3077 |
718,8716 |
0,9596 |
5 |
0,0009 |
0,0031 |
0,0288 |
717,9667 |
718,5642 |
0,9711 |
6 |
0,0007 |
0,0022 |
0,0299 |
717,6222 |
718,2423 |
0,9793 |
7 |
0,0005 |
0,0016 |
0,0307 |
717,2761 |
717,9108 |
0,9851 |
8 |
0,0004 |
0,0011 |
0,0313 |
716,9294 |
717,5732 |
0,9892 |
9 |
0,0003 |
0,0008 |
0,0317 |
716,5829 |
717,2321 |
0,9922 |
10 |
0,0002 |
0,0006 |
0,0320 |
716,2372 |
716,8890 |
0,9944 |