Задача решения уравнений ОДУ (от Polymath до Python) - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь решить немного сложную проблему ODE, используя Python. На днях я выяснил эту проблему ODE, используя программное обеспечение Polymath для получения графиков ответов (пожалуйста, приложите изображение JPG для решения проблемы Polymath). Я хочу решить эту проблему с использованием кода Python и получить графики. Вот почему я сделал код python, используя Numpy следующим образом. Но это не работает. Эта проблема кажется большой проблемой. Не могли бы вы помочь мне закончить sh заполнить код ниже Python. Все, что вы могли бы сделать для меня, будет высоко оценено.

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt

def PFR(X, T, Ta, V):
    Kc = 3.03*np.exp(-830.3*((T-333)/(T-333)))
    k = 31.1*np.exp(7906*(T-360)/(T*360))
    ra = -k*Ca0*(1-(1+1/Kc)*X)
    dTadV = Ua*(T-Ta)/m*Cpc
    dXdV = -ra/Fa0
    dTadV = ((ra*deltaH-Ua*(T-Ta))/Fa0*Cp0)
    return (dXdV, dTdV, dTadV)

V = np.linspace (0, 5)
Cpc = 28
m = 500
Ua = 5000
Ca0 = 9.3
Fa0 = 0.9*163*0.1
P0 = (0, 305, 310)
P = odeint(PFR, P0, V)
X = P[0]
T = P[1]
Ta = P[2]
Kc = 3.03*np.exp(-830.3*((T-333)/(T-333)))
k = 31.1*np.exp(7906*(T-360)/(T*360))
Xe = Kc/(1+Kc)
ra = -k*Ca0*(1-(1+1/Kc)*X)
deltaH = -6900
Cp0 = 159

plt.figure(figsize=[20,5])

plt.subplot(131)
plt.plot(V, T, Ta, 'r')

plt.subplot(132)
plt.plot(V, -ra, 'c')

plt.subplot(133)
plt.plot(V, X, Xe, 'b')

введите описание изображения здесь

...