Как написать код Python для уравнения баланса массы для печи, взяв 3 точки сетки?мне нужно построить профиль плотности - PullRequest
0 голосов
/ 23 сентября 2019

Я новичок в питоне.Я работаю над проектом по тепловому моделированию печи.для этого мне нужно сначала получить профиль плотности материала внутри печи, используя уравнение: dm / dt = d (ρV) / dt = ∑m˙in - ∑m˙out + Rg.Первоначально я беру 3 точки сетки для решения, и вот мой код, который я пробовал.но результат, который я получаю, не является удовлетворительным.пожалуйста, помогите.

Я написал программу с использованием библиотек numpy и matplotlib.pyplot.

''' creating grids'''
gp = np.linspace(0, L, n)
rho = np.ones(n) * rho0
drhodt = np.empty(n)
t = np.arange(0, t_final, dt)
result = np.zeros((int(t_final/dt), n))

''' computation part'''
for j in range (1, len(t)):
    plt.clf()
    for i in range (1,n-1):
        rho[0] = rho1
        rho[n - 1] = rho2
        drhodt[i] = (V_r / V) * (rho[i-1] - rho[i] + Rg)
    rho = rho + drhodt*dt
    result[j] = rho
    print(result)

    ''' plotting the values'''
    plt.figure(1)
    plt.plot(gp, rho)
    plt.axis([0, L, 0, 3000])
    plt.xlabel('distance')
    plt.ylabel('density')
    plt.pause(0.01)
    plt.figure(2)
    plt.plot(t, result)
    plt.axis([0, t_final, 0, 3000])
    plt.xlabel('time')
    plt.ylabel('density')
plt.show()

'' '

Я ожидаю, что результат кода будет 2различные профили плотности по отношению к точкам сетки и плотности по времени.но во время работы профиля плотности и времени я получаю ошибку 3 разных кривых, которая не требуется.мне просто нужна одна кривая, изображающая плотность на разных временных шагах.

...