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


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


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

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

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

˙EI+˙Q=˙Ee+˙Wshaft

其中,˙Q˙Wshaft 代表传给 CV 的 CS 的热传递速率和从 CV 的 CS 输出的轴功。˙E𝑖˙E𝑒 表示随着质量流入和流出 CV 的能量。等式 1 的展开形式显示在等式 2 中。

˙mI(hi+v2i2+gzi)+˙m=me(he+v2e2+gze)˙Wshaft

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

˙EI+˙Q=˙Ee+˙WShaft

(˙mI(hi+v2i2+))+˙Q=(˙me(he+v2e2+gze))+˙Wshaft

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

mi=me

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

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

用于计算焓

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

排放/质量流量

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

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

入口焓

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。如果入口速度可以忽略不计,则估计出口速度。

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

T2=(p2p1)y1y

此外,由于这是喷嘴,所以:𝑊=0,zi=ze=1.0,mi=me=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,cp = 1.005 kJ/kg-K,和 𝛾 = 1.4) 依次流过压缩机、加热器和涡轮机,如图所示。当压力和温度分别为 276 kPa 和 316 K 时,从压缩机出来的空气的体积流量为 2.33 m3/s。然后在加热器中以相同的压力将空气加热到 703 K。从加热器中,空气流过一个产生 1860 kW 功率的涡轮机。从涡轮机到周围环境的热损失为 90 kW。涡轮机出口处的空气温度(K)是多少?


解决方案 - 压缩机出口处的排放量 = 2.33 m3/s𝑝1 = 276 kPa,𝑇1 = 316 K,𝑝2 = 276 kPa,𝑇2 = 703 K,𝑊𝑡 = 1860 kW,𝑄𝑡 = 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 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告