"""
Created on Thu Nov 30 11:23:12 2023
计算两股不同流量的气体,通过换热器换热后,高温气体的出口温度
(煤烟二级,计算煤烟二级热侧出口温度)
------------------------------------------------
已知:冷测烟气量、出入口温度,热侧烟气量、热侧入口温度
求热侧出口温度
保证热出比冷进高15℃
------------------------------------------------
@author: xujifa
"""
import sympy
class Com_two_hot_out_temperature():
def __init__(self, cold_in_fl, cold_in_tem,cold_out_tem,hot_in_fl,hot_in_tem,name):
self.cold_in_fl = cold_in_fl
self.cold_in_tem = cold_in_tem
self.cold_out_fl = cold_in_fl
self.cold_out_tem = cold_out_tem
self.hot_in_fl = hot_in_fl
self.hot_in_tem = hot_in_tem
self.hot_out_fl = cold_in_fl
self.name = str(name)
self.cha = 15
print(f"👇👇👇以下计算为 {self.name} 的参数👇👇👇")
def ex_eff(self):
if self.hot_in_tem > 400:
return 0.94
else:
return 0.965
def com_heat(self,fl,tem):
fl = fl/0.0224
tem = tem + 273.15
cp = 7.22e-10*pow(tem,3) - 5.937e-06*pow(tem,2) + 0.01707 *tem + 26.52
heat = cp*fl*tem
return heat
def ex_heat(self):
cold_in_heat = self.com_heat(self.cold_in_fl,self.cold_in_tem)
cold_out_heat = self.com_heat(self.cold_out_fl,self.cold_out_tem)
heat = cold_out_heat - cold_in_heat
print(f"***{self.name} @ 冷测热量:{heat} J/h",)
print(f"***{self.name} @ 冷测热量:{heat/3600/1000} KW",)
return heat
def com_hot_out_heat(self):
hot_in_heat = self.com_heat(self.hot_in_fl,self.hot_in_tem)
print(f"+++{self.name} @ 热侧入口携带热量:{hot_in_heat} J/h")
cold_ex_heat = self.ex_heat()/self.ex_eff()
hot_out_heat = (hot_in_heat - cold_ex_heat)/(self.hot_in_fl/0.0224)
print(f"+++{self.name} @ 热侧出口所需热量:{hot_out_heat} J/h")
return hot_out_heat
def sol_tem(self,h):
tem = sympy.Symbol("tem")
s = sympy.solve(7.22e-10*pow(tem,4) - 5.937e-06*pow(tem,3) + 0.01707 *tem*tem + 26.52*tem-h)
print(f'↓↓↓***{self.name} @ 计算结果温度 K-待筛选***↓↓↓')
print(s)
print(f'↑↑↑***{self.name} @ 计算结果温度 K-待筛选***↑↑↑')
return s
def post_sol(self,data):
for num in data:
if "I" not in str(num):
if num > 0:
print(f"👉👉👉{self.name}@热侧出口温度 {round(num-273.15,2)} ℃")
print(f"👆👆👆以上计算为 {self.name} 的参数👆👆👆")
return round(num-273.15,2)
else:
print("solve-复数")
return -911111111
def getdata(self):
hot_out_tem = self.post_sol(self.sol_tem(self.com_hot_out_heat()))
print(f"热侧出口温度为{hot_out_tem}-经过方程求解")
print("---------------------------------")
print(f"{self.name}边界参数")
print(f"{self.name}-冷测:\n1、流量{self.cold_in_fl}Nm3/h\n2、入口温度{self.cold_in_tem}℃\n3、出口温度{self.cold_out_tem}℃\n4、温差{self.cold_out_tem-self.cold_in_tem}℃")
print(f"{self.name}-热侧:\n1、流量{self.hot_in_fl}Nm3/h\n2、入口温度{self.hot_in_tem}℃\n3、出口温度{hot_out_tem}℃\n4、温差{self.hot_in_tem-hot_out_tem}℃")
print("---------------------------------")
return self.cold_out_fl,self.cold_out_tem,self.hot_out_fl,hot_out_tem
if __name__ == "__main__":
Com_two_hot_out_temperature(122000, 240, 280, 15000,200,"二级换热器").getdata()