ODE耦合系统-换热器问题

时间:2019-05-18 12:21:20

标签: python python-3.x numpy scipy ode

我正在解决热交换器问题,必须找到最终温度。这是ode的系统,我编写了以下代码:它要求我定义T和t,但我是x的函数,我应该找到

NotificationCompat.Builder

但是它给了我以下错误信息:

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

#propriedades trietileno glicol na entrada
T1 = 363 #K temperatura de entrada
Wt = 3.6 #kg/s vazão

#propriedades água na entrada
t1 = 298 #K 
Ww = 1.0
Ww = [0.1, 0.5, 1] #kg/s vazões

Di = 0.07792 #m diâmetro interno
L = 3.048 #m comprimento do tubo

U = 283.72 #W/m²K
pi= 3.1415

cpt = 1901.09#, 2.7683*T + 896.2] #J/kg*K calor específico
cpw = 4018.04#, -0.00003*(t^3) + 0.0403*(t^2) - 16.277*t + 6083.7] #J/kg*K calor específico
cp = [cpt, cpw]

def funct(y, x):   
    y = T, t
    dTdx = (U * Di * pi / (Wt * cpt)) * (T - t)
    dtdx = (U * Di * pi / (Ww * cpw)) * (T - t)
    x = np.linspace(0, L, 100)

    return dTdx, dtdx

# Vetor espaço


# Initial condition
y0 = T1, t1
sol = odeint(funct, y0 , x)

# plot
plt.plot(x, sol[:, 0], label='Trietilenoglicol')
plt.plot(x, sol[:, 1], label='Água')
plt.legend()
plt.xlabel('posição')

我已经阅读了很多回答的问题,但仍然找不到错误。

1 个答案:

答案 0 :(得分:0)

您想将y中的列表解压缩为单个变量,这必须与打包y0时相反地进行,

T,t = y

您要在与y0相同的位置定义时间数组x


您两次定义Ww,第二次定义为元组。没有算术元组运算。如果第二个定义没有特殊用途,则将其删除。