Python 中稳态流动能量方程建模


稳态流动能量方程 (SFEE) 是能量守恒定律在开放系统中的应用。下图是开放系统的示意图,其中流体从 𝑖 进入,从 𝑒 出口。红色虚线表示控制体积 (CV) 的控制面 (CS)。


入口和出口参数如下表所示:

参数 入口 出口
压力 pi pe
速度 Vi Ve
密度 Pi Pe
比容 vi ve
hi he
面积 Ai Ae
基准面 zi ze

对于单个输入和输出系统(如上所示),SFEE 可以写成:

$$\mathrm{\dot{E}_I+\dot{Q}=\dot{E}_e+\dot{W}_{shaft}}$$

其中,$\mathrm{\dot{Q}}$ 和 $\mathrm{\dot{W}_{shaft}}$ 代表传给 CV 的 CS 的热传递速率和从 CV 的 CS 输出的轴功。$\mathrm{\dot{E}_𝑖}$ 和 $\mathrm{\dot{E}_𝑒}$ 表示随着质量流入和流出 CV 的能量。等式 1 的展开形式显示在等式 2 中。

$$\mathrm{\dot{m}_I(h_i+\frac{v^{2}_i}{2}+gzi)+\dot{m}=m_e(h_e+\frac{v^{2}_e}{2}+gz_e)\dot{W}_{shaft}}$$

公式 1 和 2 适用于单个输入和输出,但如果存在多个输入输出以及多个热相互作用,则公式变为:

$$\mathrm{\sum \dot{E}_I+\sum\dot Q=\sum \dot{E}_e+\dot{W}_{Shaft}}$$

$$\mathrm{\sum(\dot{m}_I(h_i+\frac{v^{2}_i}{2}+))+\sum\dot Q=\sum(\dot{m}_e(h_e+\frac{v^{2}_e}{2}+gze))+\dot{W}_{shaft}}$$

除了这些方程之外,还需要求解质量守恒。事实上,必须先求解质量守恒,然后再求解能量方程。因此,对于多输入输出控制体积,进入系统的净质量应等于离开系统的净质量。

$$\mathrm{\sum m_i=\sum m_e}$$

没有直接的方法可以在 Python 中对上述方程进行建模,因此,将根据手头的具体问题进行建模。我们将创建一个程序的 case 类型结构,在其中为方程中每个缺失的条目创建函数。

以下函数是为单个入口和出口开发的:

用于计算焓

def Enthaply(T,c):
   """
   Enter temperature in deg C
   """
   return c*(T+273) 

排放/质量流量

def mass_flow(ρ,a,v):
   return ρ*a*v

入口焓

def SFEE_hi(he,vi,ve,zi,ze,Q,W,mi,me):
   """
   h: in kJ/kg
   v: m/s
   z: m/s
   Q: kW
   W: kW
   m: kg/s
   """
   return (me*(he+1.E-3*ve**2/c+1.E-3*g*ze)+W-Q)/mi-(1.E-3*vi**2/2+1.E3*g*zi) 

出口焓

def SFEE_he(hi,vi,ve,zi,ze,Q,W,mi,me):
   """
   h: in kJ/kg
   v: m/s
   z: m/s
   Q: kW
   W: kW
   m: kg/s
   """
   return (mi*(hi+1.E-3*vi**2/2+1.E-3*g*zi)-W+Q)/me-(1.E-3*ve**2/2+1.E3*g*ze) 

热传递

def SFEE_Q(hi,he,vi,ve,zi,ze,W,mi,me):
   """
   h: in kJ/kg
   v: m/s
   z: m/s
   W: kW
   m: kg/s
   """
   return me*(he+1.E-3*ve**2/2+1.E-3*g*ze)-mi*(hi+1.E-3*vi**2/2+1.E3*g*zi)+W 

轴功

def SFEE_W(hi,he,vi,ve,zi,ze,Q,mi,me):
   """
   h: in kJ/kg
   v: m/s
   z: m/s
   Q: kW
   m: kg/s
   """
   return mi*(hi+1.E-3*vi**2/2+1.E-3*g*zi)-me*(he+1.E-3*ve**2/2+1.E3*g*ze)+Q 

入口速度

def SFEE_vi(hi,he,ve,zi,ze,Q,W,mi,me):
   """
   h: in kJ/kg
   v: m/s
   z: m/s
   Q: kW
   W: kW
   m: kg/s
   W: kW
   """
   a= (me*(he+1.E-3*ve**2/2+1.E-3*g*ze)+W-Q)/mi
   return sqrt(2000*(a-(hi+1.E-3*g*zi))) 

出口速度

def SFEE_ve(hi,he,vi,zi,ze,Q,W,mi,me):
   """
   h: in kJ/kg
   v: m/s
   z: m/s
   Q: kW
   W: kW
   m: kg/s
   W: kW
   """
   a= (mi*(hi+1.E-3*vi**2/2+1.E-3*g*zi)-W+Q)/me
   return sqrt(2000*(a-(he+1.E-3*g*ze)))

让我们举几个例子来演示这些函数的使用。

示例 1

在一个绝热喷嘴中,入口和出口压力分别为 31 巴和 1 巴,入口温度为 527°C。气体的比热为 1 kJ/kg-K,𝛾 = 1.4。如果入口速度可以忽略不计,则估计出口速度。

解决方案:在这种情况下,我们首先必须计算出口温度。由于喷嘴是绝热的,因此出口温度将计算为:

$$\mathrm{T_2=(\frac{p_2}{p_1})^{\frac{y-1}{y}}}$$

此外,由于这是喷嘴,所以:$\mathrm{ 𝑊 = 0, z_i = z_e = 1.0, m_i = m_e=1.0}$

此问题的 Python 代码如下:

from math import *
# Adiabatic exponent
γ=1.4

# Specific heat
c= 1

# Heat and work
Q=W=0

# Inlet temperature and pressure
Ti = 800
pi = 31

# Exit pressure
pe = 1

# datum at inlet and exit
zi=ze=1

# mass flow rate at inlet and exit
mi=me=1

# velocity at inlet
vi=0

# Evaluating exit temperature based on adiabatic condition
Te=Ti*(pe/pi)**(1-1/γ) # in Kelvin

# Evaluating inlet and exit enthalpy
hi=Enthaply(Ti,c)
he=Enthaply(Te,c)

# Calling function to evaluate exit velocity
Ve=SFEE_ve(hi,he,vi,zi,ze,Q,W,mi,me)
print(f"Ve = {round(Ve,3)} m/s") 

程序的输出将为:

Ve = 1000.093 m/s 

示例 2

空气 (𝑅 = 0.287 kJ/kg-K,$\mathrm{c_p}$ = 1.005 kJ/kg-K,和 𝛾 = 1.4) 依次流过压缩机、加热器和涡轮机,如图所示。当压力和温度分别为 276 kPa 和 316 K 时,从压缩机出来的空气的体积流量为 2.33 $\mathrm{m^3/s}$。然后在加热器中以相同的压力将空气加热到 703 K。从加热器中,空气流过一个产生 1860 kW 功率的涡轮机。从涡轮机到周围环境的热损失为 90 kW。涡轮机出口处的空气温度(K)是多少?


解决方案 - 压缩机出口处的排放量 = 2.33 $\mathrm{m^3/s}$,$\mathrm{𝑝_1}$ = 276 kPa,$\mathrm{𝑇_1}$ = 316 K,$\mathrm{𝑝_2}$ = 276 kPa,$\mathrm{𝑇_2}$ = 703 K,$\mathrm{𝑊_𝑡}$ = 1860 kW,$\mathrm{𝑄_𝑡}$ = 90 kW。在此问题中,由于没有提及速度和基准面,因此我们将认为它们可以忽略不计。

由于这是一个稳态问题,因此我们必须首先根据压缩机的出口条件找到质量流量,并直接查看涡轮机并计算出口焓,最后计算温度。

此问题的 Python 程序如下:

from math import *
# Adiabatic exponent
γ=1.4

# Specific heat
c= 1.005

# Characteristic gas const.
R=0.287

# Data at compressor exit
disc =2.33 #m^3/s
p1=276 #kPa
T1=316 #K

# Data at heater exit
p2=276 #kPa
T2=703 #K

# Data for turbine
Wt=1860 #kW
Qt=-90 #kW.

# Evaluating mass flow rate
ρ1=p1/(R*T1)
m=ρ1*disc

# Enthalpy at heater exit
h2=Enthaply(T2,c)

# Velocity and pressure at Turbine exit and inlet
v2=v3=0
z2=z3=0

# obtaining enthalpy at turbine exit
h3=SFEE_he(h2,v2,v3,z2,z3,Qt,Wt,m,m)

# Temperature at turbine exit
T3=h3/c
print(f'T3 = {round(T3,3)} K')

程序的输出将为:

T3 = 429.364 K

结论

在本教程中,已在 Python 中对稳态流动能量方程进行了建模。开发了不同的函数,并通过两个示例展示了其实现。

更新于: 2023 年 10 月 4 日

154 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告