计算两股不同流量的气体,通过换热器换热后,高温气体的出口温度

在这里插入图片描述

# -*- coding: utf-8 -*-
"""
Created on Thu Nov 30 11:23:12 2023
计算两股不同流量的气体,通过换热器换热后,高温气体的出口温度
(煤烟二级,计算煤烟二级热侧出口温度)
------------------------------------------------
已知:冷测烟气量、出入口温度,热侧烟气量、热侧入口温度
求热侧出口温度
保证热出比冷进高15℃
------------------------------------------------
@author: xujifa
"""
import sympy

class Com_two_hot_out_temperature():
    
    # 已知物理参数、边界条件等
    #冷测入口烟气量 Nm3/h,#冷测入口温度 ℃,#冷测出口温度 ℃,#热测入口烟气量 Nm3/h,#热测入口温度 ℃
    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  #冷测入口烟气量 Nm3/h
        self.cold_in_tem = cold_in_tem  #冷测入口温度 ℃
        self.cold_out_fl = cold_in_fl  #冷测出口烟气量 Nm3/h
        self.cold_out_tem = cold_out_tem  #冷测出口温度 ℃
        self.hot_in_fl = hot_in_fl  #热测入口烟气量 Nm3/h
        self.hot_in_tem = hot_in_tem  #热测入口温度 ℃
        self.hot_out_fl = cold_in_fl  #热测出口烟气量 Nm3/h
        self.name = str(name)
        self.cha = 15 #保证热出比冷进大于15℃
        print(f"👇👇👇以下计算为 {self.name} 的参数👇👇👇")
        


    #定义热损失,换热器效率,根据热测入口温度 ℃来定义
    def ex_eff(self):
        if self.hot_in_tem > 400:
            return 0.94
        else:
            return 0.965
       
        
     #fl 风量Nm3/h、 tem温度℃,求携带热量
    def com_heat(self,fl,tem):
        fl = fl/0.0224 #气体摩尔量 mol/h
        tem = tem + 273.15 #温度转化为k,因为比热容的方程是根据温度k来计算的
        cp = 7.22e-10*pow(tem,3) - 5.937e-06*pow(tem,2) + 0.01707 *tem + 26.52 #比热容 J/mol-K
        heat =  cp*fl*tem #计算携带的热量  J/h
        # print(f"---携带热量模块---{heat} j/h")#f{}格式化字符串
        return heat
    
    #换热计算,高温在前,低温在后,风量Nm3/h、 tem温度℃
    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 #计算进出口的热量差值  J/h,1kj/h = 1/3600kw
        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
             
    #求解一元四次函数,tem为变量
    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
    
    #对sol求解的函数进行后处理
    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}-经过方程求解")
        # if hot_out_tem - self.cold_in_tem < self.cha and hot_out_tem>0:
        #     hot_out_tem = self.cold_in_tem + self.cha
        # else:
        #     hot_out_tem = -99999999
        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()

    


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/244443.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初识大数据应用,一文掌握大数据知识文集(1)

文章目录 &#x1f3c6;初识大数据应用知识&#x1f50e;一、初识大数据应用知识(1)&#x1f341; 01、请用Java实现非递归二分查询&#xff1f;&#x1f341; 02、是客户端还是Namenode决定输入的分片&#xff1f;&#x1f341; 03、mapred.job.tracker命令的作用&#xff1f;…

Python 接口测试response返回数据对比的方法

背景&#xff1a;之前写的接口测试一直没有支持无限嵌套对比key&#xff0c;上次testerhome逛论坛&#xff0c;有人分享了他的框架&#xff0c;看了一下&#xff0c;有些地方不合适我这边自己修改了一下&#xff0c;部署在jenkins上跑完效果还不错&#xff0c;拿出来分享一下。…

记录 | mac安装node

第一种方法(下载官网对应 node 版本的 .pkg文件) 访问nodejs官网&#xff08;Node.js 中文网&#xff09;选择合适的版本 双击刚下载的 .pkg 文件&#xff0c;进行安装 安装完成后检查 node 和 npm 的版本 node -v npm -v第二种方法,是使用 Homebrew 使用命令安装 //默认安…

Outlook邮箱设置邮件签名的步骤指南

outlook邮箱如何设置邮件签名&#xff1f; 要为Outlook邮箱设置电子邮件签名&#xff0c;请按照以下步骤操作:   1、打开Outlook&#xff0c;从左侧边栏选择“邮件”选项卡。   2、在文件菜单中&#xff0c;从右上角单击“设置”选项。   3、找到“撰写和答复”部分&…

第四十一篇:移动端调试工具

1.下载工具 npm install vconsole 2.在main.js里全局引用 > import Vconsole from vconsole > new Vconsole()

【Linux进程控制】进程终止和等待(waitpid回收僵尸进程)

前言 什么是写时拷贝 创建子进程&#xff0c;没必要将不会被访问 或只读的数据重新拷贝一份 只有将来会被父或子进程写入的数据才 值得拷贝&#xff0c;提前拷贝也并不会立马使用 一般而言即使是os&#xff0c;也无法提前知道 哪些空间可能被写入 所以os选择写时拷贝技术对父子…

程序员必读:Python 中如何完美处理日志记录?

日志记录在软件开发中扮演着至关重要的角色。它不仅可以帮助开发人员跟踪应用程序的状态和行为&#xff0c;还能提供有价值的诊断信息。Python 提供了内置的 logging 模块&#xff0c;为开发者提供了一个强大且灵活的日志记录工具。 日志的重要性 在软件开发中&#xff0c;对…

uni-app开发者必看:如何轻松适配微信小程序?

一、v-if避坑 看uniapp官方文档上&#xff0c;v-if是支持多端支持的。小程序上仅支持微信小程序&#xff0c;用hbuilderx运行到小程序后就会变成微信的指令语法wx:if。这里有个坑&#xff0c;要特别注意&#xff01; v-if指令表达式 如果指令表达式为json对象&#xff0c;而…

数据可视化免费化的双面影响探析

近年来数据可视化的免费化也越来越明显&#xff0c;今天就以我作为可视化设计师的经验来和大家分析一下&#xff0c;数据可视化工具免费化所带来的利与弊。 先从好处入手&#xff0c;最明显的就是免费化可以让数据可视化工具得到更广泛的使用。 免费数据可视化工具使得更多人可…

基于 Webpack5 Module Federation 的业务解耦实践

前言 本文中会提到很多目前数栈中使用的特定名词&#xff0c;统一做下解释描述 dt-common&#xff1a;每个子产品都会引入的公共包(类似 NPM 包) AppMenus&#xff1a;在子产品中快速进入到其他子产品的导航栏&#xff0c;统一维护在 dt-common 中&#xff0c;子产品从 dt-com…

06.CSS选择器

CSS选择器 1.选择器的优先级 介绍 通过不同的选择器&#xff0c;选中相同的元素 &#xff0c;并且为相同的样式名设置不同的值时&#xff0c;就发生了样式的冲突 到底应用哪个样式&#xff0c;此时就需要看优先级了 简单描述 行内样式 > ID选择器 > 类选择器 > …

用 SpringBoot+Redis 解决海量重复提交问题

1 前言 在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求&#xff0c;我们来解释一下幂等的概念&#xff1a;**任意多次执行所产生的影响均与一次执行的影响相同 。**按照这个含义&#xff0c;最终的含义就是 对数据库的影响只能是一次性的&#xff0c;不能重复处理…

一站式API解决方案:工程通API连接营销系统、CRM与用户运营,推动无代码集成

无代码开发的革命&#xff1a;简化电商与CRM系统集成 在信息技术迅猛发展的今天&#xff0c;电商企业迫切需要一个高效、便捷的系统来管理客户关系和销售流程。然而&#xff0c;传统的系统集成方式往往因复杂的API开发而令人望而却步。工程通API应运而生&#xff0c;它的无代码…

Halcon 模板匹配基于相关性

文章目录 基于相关性使用匹配助手 基于相关性 适用场景 模板匹配&#xff1a;当你需要在图像中找到一个已知的模板时&#xff0c;例如在工业生产线上检测产品的特定标识或零件的特征时&#xff0c;相关性匹配是一种简单而有效的方法。实时应用&#xff1a;相关性匹配通常具有较…

<软考高项备考>《论文专题 - 8 论文的项目背景之背景段的写法》

1 背景特征 比较好的背景特征&#xff1a; 语句通顺&#xff0c;简洁明了逻辑清晰、层次分明&#xff08;建议分1段-2段描写)项目内容描写清楚&#xff0c;和规模相符合&#xff08;从你写的项目内容和业务描述上&#xff0c;能够勾勒出项目的原型图)技术新颖、路线清晰、描写…

我的隐私计算学习——匿踪查询

笔记内容来自多本书籍、学术资料、白皮书及ChatGPT等工具&#xff0c;经由自己阅读后整理而成。 &#xff08;一&#xff09;PIR的介绍 ​ 匿踪查询&#xff0c;即隐私信息检索&#xff08;Private InformationRetrieval&#xff0c;PIR&#xff09;&#xff0c;是安全多方计算…

Epicypher:CUTANA™ E. coli Spike-in DNA

来源于Escherichia coli&#xff08;E.coli&#xff09;的片段DNA可以用作核酸酶靶向切割和释放&#xff08;CUT&RUN&#xff09;的实验标准化的spike-in对照。产品CUTANA™ E. coli Spike-in DNA含有足够的材料&#xff0c;可用于100-200个CUT&RUN样本&#xff08;高丰…

Linux系统编程总结:进程间通信之网络编程

这一块内容放在进程间通信也没有问题&#xff0c;因为进程间通信研究的就是进程之间如何进行协同操作、如何交换数据进行对话的过程&#xff0c;上一篇文章介绍的几种机制都是用在一台机器上的进程互相进行通信的&#xff0c;而网络套接字这种机制则是用来为两台不同机器上的进…

使用apriori来挖掘关联规则

1、apriori最重要的三个概念&#xff1a; 1、支持度 支持度 (Support)&#xff1a;指某个商品组合出现的次数与总订单数之间的比例。 在这个例子中&#xff0c;我们可以看到“牛奶”出现了 4 次&#xff0c;那么这 5 笔订单中“牛奶”的支持度就是 4/50.8。 2、置信度 置信度…

Win10错误代码0x80070005的解决方法

在Win10电脑操作过程中&#xff0c;用户可能会遇到各种各样的问题&#xff0c;从而影响到自己正常使用电脑办公。现在&#xff0c;就有用户遇到了错误码0x80070005的提示&#xff0c;但不清楚具体的解决方法。下面小编给大家分享不同的解决方法&#xff0c;解决后Win10电脑就能…