当前位置: 首页 > news >正文

恒容容器放气的瞬时流量的计算与合金氢化物放氢流量曲线的计算

有时候,你会遇到一个问题,该问题的描述如下:

        你有一个已知体积的容器,设容器体积为V,里面装有一定压力(初始压力)的气体,如空气或氢气等,设初始压力为1MPa,容器出口连接着一个阀门开关,开关后面接1/4in.的钢管,钢管出口即为气体出口。当阀门瞬间全开时,气体出口的瞬时流量值随时间变化到底是怎么样的呢?

        该问题相当于在不考虑管壁与管长对气体产生粘滞阻力的影响下,已知气体管道直径d,即管道横截面积A=\frac{\pi d^{2}}{4},已知管子进口静压为P_0=1MPa,已知管子出口静压为P_{b}=P_{atm},即一个大气压,同时知道进口气体总温T_{0}为323K,求出口瞬时流量随时间t的变化关系和曲线。

1. 第一种方法:根据哈根泊谡叶方程

         利用理想气体方程:PV=\frac{m}{M}RT和哈根泊谡叶关系式:q_v=\frac{\pi r^{4}}{8\mu L}\Delta P,\Delta P=P-P_{atm}q_v表示的是体积流量,单位为m^{3}/sr是管子的半径,\mu是流体的动力黏度,单位是kg/(m\cdot s)L是管子的长度,压强P的单位为Pa。两个方程联立,可得ln(\frac{P-P_{atm}}{P_0-P_{atm}})=-ABt,A=\frac{\pi r^{4}}{8\mu L},B=\frac{\rho RT}{MV}P-P_{atm}=(P_0-P_{atm})e^{-ABt},利用该关系式,得到P随时间t的关系如下图所示,为一指数函数形式,而且可以通过积分,得到积分总流量为7.45L,根据\Delta PV=\Delta mR_gT,\Delta m=\frac{\Delta PV}{R_gT}\Leftrightarrow \Delta q=\frac{\Delta m}{\rho }=\frac{\Delta PV}{\rho R_gT}=7.46L,可见积分与差分得出的总流量非常接近。

         不过根据推导,一开始的瞬时流量值非常离谱,可以去到4093105SLM(L/min),根据\frac{dm}{dt}=\rho \cdot u\cdot A\Leftrightarrow \frac{dq}{dt}=\frac{d(m/\rho )}{dt}=u\cdot AA=3.167\times10^{-5} m^{2}可以知道出口流体平均速度u=4093105\cdot 10^{-3}/60/(3.16\times10^{-5} )=2154092m/s,光速是u_c=299792458m/s,出口速度已经达到0.007倍的光速,也超过空气声速\approx 314m/s,应该会听到音爆?实际好像没有发生这样的现象,但出口处确实会产生挺大的声音。

附:关于哈根泊谡叶关系式的推导,见下图。 

2. 第二种方法:根据气体动力学推算

         假设排气过程与气体管道壁面的换热忽略不计,即壁面是绝热的,气体流体是一个准稳态问题,排气口相当于是收缩,没有扩张,根据气体动力学可知,出口气体流速只能加速到1马赫数,即Ma=1。根据总静温关系式\frac{T_{0}}{T_{b}}=1+\frac{k-1}{2}Ma^{2},T_0=323K,得知T_b\approx 269.17K。再根据马赫数定义式Ma^{2}=\frac{v^{2}}{c^{2}}=\frac{v^{2}}{kR_gT},这里k是气体比热容比,定义为定压比热C_p与定容比热C_v之比,变换后有v_b=Ma\cdot \sqrt{kR_gT_b}k=1.4T_b=269.17K,比气体常数R_g为:R_g=\frac{R=8.314J/(mol\cdot K)}{0.002kg/mol}=4157J/(kg\cdot K)得到氢气气体流速v_b\approx 1295.22m/s

        根据\frac{dm}{dt}=\rho \cdot u\cdot AP=\rho R_gT,\frac{T_{0}}{T_{b}}=1+\frac{k-1}{2}Ma^{2},T_0=323KMa=1\frac{P}{P_b}=(1+\frac{k-1}{2}Ma^{2})^{\frac{k}{k-1}}u=Ma\cdot \sqrt{kR_gT_b}P_{b}为一个大气压。在Ma=1的壅塞流阶段,可解得ln\frac{P}{P_0}=\frac{\sqrt{1.2kR_gT_0}}{V}MaAt\Leftrightarrow P=f(t)=P_0e^{-47.734t}。这阶段,理解为流速u不变,P变化导致的\rho变化,瞬时质量流量也会随之变化,但体积流量q_v=u\cdot A不变。如下图所示,绿色曲线是瞬时流量,紫色曲线是体积流量,绿色部分面积是积分得到的总质量流量,通过积分得到壅塞流下的总质量流量为0.602g,换算成密度为0.0899kg/m^{3}的体积流量为6.69L

        后面非壅塞流状态下的亚声速流,原则上也是利用\frac{dm}{dt}=\rho \cdot u\cdot AP=\rho R_gT_bu=Ma\cdot \sqrt{kR_gT_b}\frac{T_{0}}{T_{b}}=1+\frac{k-1}{2}Ma^{2},T_0=323K\frac{P}{P_b}=(1+\frac{k-1}{2}Ma^{2})^{\frac{k}{k-1}},这5个式子得到\frac{dm}{dt}=f(P)的关系,我用欧拉法获得解析解的近似值,得到后续的流量曲线,具体步骤是,知道压力初始条件P=P_{Ma=1}\approx 191801Pa,初始瞬时流量为\frac{dm}{dt}|_{Ma=1,P=P_{Ma=1}},也就是等于壅塞流状态下最后一刻时间的流量,然后利用瞬时流量乘以时间小量,得到\Delta m,再利用关系式\frac{dm}{dt}=f(P),得到P的变化量,然后计算马赫数Ma、速度u,温度T_b等参数,不断进行迭代计算,当P/P_{b}\approx 1时结束迭代。如下图中绿色的质量流量曲线和紫色的体积流量曲线,通过积分面积算得亚声速流下总质量流量为0.0673g,换算成密度为0.0899kg/m^{3}的体积流量为0.749L,因此放氢整个过程总质量流量为0.602g+0.067g=0.669g,与\Delta PV=\Delta mR_gT,\Delta m=\frac{\Delta PV}{R_gT}\Leftrightarrow \Delta m=0.669g算出来的基本一致。整个过程的总体积流量为6.69L+0.749L\approx 7.44L

        具体更可靠的计算,请读者参考GB/T 14513.3-2020中的方法。

        在经典的合金氢化物动力学描述中,有一种是用JMAK方程来描述和拟合合金的吸放氢过程,方程很简洁:\xi =1-e^{-kt},其中\xi是反应程度或者百分比,表示合金氢化物吸氢或者放氢的程度,k是该合金吸氢或放氢的一种特征常数,经常是通过实验测得动力学曲线后进行拟合得到,t是时间。该方程的曲线形状如下图所示。

        由于 \xi是反应程度,因此假设合金最终能放出m标升的氢气,则方程可变为q_v =m(1-e^{-kt}),该方程对时间t进行求导,可得\frac{dq_v}{dt}=mke^{-kt},该曲线即为瞬时体积流量曲线,其曲线形状如下图,k越大,初始瞬时流量越大,放氢时间越短。k实测可取值0.00005~0.05之间。

        合金放氢后,使得容器内压力P上升,合金动力学方程q_m =m(1-e^{-kt})m是放氢总质量,在这里,我假设m=0.2g, k=0.02,利用上述5个公式和数值计算,可以知道在壅塞流状态下,合金动力学方程中,每10^{-5}s放出的氢,导致容器内上升的压力只有0.55Pa左右,结合上述气体动力学算出来的瞬时流量,可认为这阶段合金放氢所带来的压力影响可忽略。就算是非壅塞流阶段,由于合金总储氢量m比较小,因此也是接近非壅塞流末段,合金放氢对瞬时流量的影响才开始凸现,此时合金单独放氢的动力学曲线此时可以接驳到瞬时流量曲线上去。也就是说,瞬时流量曲线前部分是气体动力学算出来的流量曲线,到一定压力时,合金放氢动力学曲线就跟前者流量曲线接上即可。

        我大概算了下,通过数值计算的瞬时流量如下图,10s的瞬时流量为26.97SLM(L/min),20s的瞬时流量为22.08SLM,30s的瞬时流量为18.08SLM,50s的瞬时流量为12.12SLM,100s的瞬时流量为4.46SLM,\frac{dq_v}{dt}=mke^{-kt}/\rho算出来10s的瞬时流量为26.06SLM,20s的瞬时流量为21.31SLM,30s的瞬时流量为17.45SLM,50s的瞬时流量为11.69SLM,100s的瞬时流量为4.30SLM。两者算出的差距是有,但不算特别大,可接受。

 

相关文章:

恒容容器放气的瞬时流量的计算与合金氢化物放氢流量曲线的计算

有时候,你会遇到一个问题,该问题的描述如下: 你有一个已知体积的容器,设容器体积为V,里面装有一定压力(初始压力)的气体,如空气或氢气等,设初始压力为1MPa,容器出口连接着一个阀门开…...

网络编程_UDP通信

网络编程_UDP通信 1. TCP与UDP2. 使用UDP通信3. sendto与recvfrom、recv4.实例实例1: 服务器接收、客户端发送实例2:服务器收发、客户方发送、接收。1. TCP与UDP 当使用网络套接字通信时, 套接字的“域”都取AF_INET; 套接字的type: SOCK_STREAM 此时,默认使用TCP协议进行…...

windows修改Pycharm的右键打开方式

title: windows中open floder as Pycharm太长了怎么修改 date: 2023-06-04 author: IoT_H2 tags: windows系统问题 categories: Markdown 问题描述: Pycharm这一栏这么长,长的我实在是很难受,事实上Jetbrains家的软件都是这个鸟模样 导…...

Python入门(十四)函数(二)

函数(二) 1.传递实参1.1 位置实参1.2 关键字实参1.3 默认值 作者:xiou 1.传递实参 函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。向函数传递实参的方式很多:可使用位置实参,这要求实参…...

Allure测试报告定制全攻略,优化你的Web自动化测试框架!

目录 前言: 1. Allure测试报告简介 2. Web自动化测试框架简介 3. 封装Web自动化框架 3.1 安装Selenium 3.2 封装Selenium 3.3 定制Allure测试报告 3.3.1 适配翻译插件 3.3.2 定制测试报告样式 4. 示例代码 5. 总结 前言: 随着现在Web应用的普…...

推荐系统算法详解

文章目录 基于人口统计学的推荐算法用户画像 基于内容的推荐算法相似度计算基于内容推荐系统的高层次结构特征工程数值型特征处理类别特征处理时间型特征处理统计型特征处理 推荐系统常见反馈数据基于UGC的推荐TF-IDFTF-IDF算法示例1. 引入依赖2. 定义数据和预处理3. 进行词数统…...

企业网站架构部署与优化之LAMP

LAMP LAMP概述1、各组件的主要作用2、各组件安装顺序 编译安装Apache http服务编译安装MySQL服务编译安装PHP解析环境安装论坛 LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供静态和动态Web站点服务…...

攻防世界安卓逆向练习

文章目录 一.easy-so1. jadx分析程序逻辑2. ida查看so文件3. 解题脚本: 二.ezjni1. 程序逻辑分析2. 解题脚本: 三.easyjava1. 主函数逻辑2. getIndex函数3. getChar函数4.解题脚本 四.APK逆向1.程序逻辑分析2.解题脚本3.动态调试 Android2.0app3 一.easy-so 1. jadx分析程序逻…...

自然语言处理从入门到应用——自然语言处理的语言模型(Language Model,LM)

分类目录:《自然语言处理从入门到应用》总目录 语言模型(Language Model,LM)(也称统计语言模型)是描述自然语言概率分布的模型,是一个非常基础和重要的自然语言处理任务。利用语言模型&#xff…...

【MySql】InnoDB一棵B+树可以存放多少行数据?

文章目录 背景一、怎么得到InnoDB主键索引B树的高度?二、小结三、最后回顾一道面试题总结参考资料 背景 InnoDB一棵B树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞…...

【综述】视频无监督域自适应(VUDA)的小综述

【综述】视频无监督域自适应(VUDA)的小综述 一篇小综述,大家看个乐子就好,参考文献来自于一篇综述性论文 完整PPT已经上传资源:https://download.csdn.net/download/weixin_46570668/87848901?spm1001.2014.3001.550…...

《深入理解计算机系统(CSAPP)》第9章虚拟内存 - 学习笔记

写在前面的话:此系列文章为笔者学习CSAPP时的个人笔记,分享出来与大家学习交流,目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记,在复习回看时发现部分内容存在一些小问题,因时间紧张来不及再次整理…...

信息论与编码 SCUEC DDDD 期末复习

1.证明熵的可加性 2.假设一帧视频图像可以认为是由3*10的五次方个像素组成(每像素均独立变化),如果每个像素可取128个不同的等概率亮度表示。请计算出每帧图像含多少信息量?若有一口述者在约12000个汉字的字汇中选400个字来口述此…...

windows安装python开发环境

最近因工作需要,要学习一下python,所以先安装一下python的开发环境,比较简单 下载和安装Python 首先,在浏览器中打开Python的官方网站(https://www.python.org/downloads/) 然后,从该网站下载与你的操…...

java idea常用的快捷方式

文章目录 java idea常用的快捷方式快速复制选多行改变代码格式化 快速代码编辑psvmsout5.forarr.for快速死循环快速补全代码当方法还没创建的时候抽取具有一定功能的代码变成方法 java idea常用的快捷方式 快速复制 c t r l d \color{red}{ctrld} ctrld 选多行改变 A l t 鼠…...

lwIP 开发指南

目录 lwIP 初探TCP/IP 协议栈是什么TCP/IP 协议栈架构TCP/IP 协议栈的封包和拆包 lwIP 简介lwIP 源码下载lwIP 文件说明 MAC 内核简介PHY 芯片介绍YT8512C 简介LAN8720A 简介 以太网接入MCU 方案软件TCP/IP 协议栈以太网接入方案硬件TCP/IP 协议栈以太网接入方案 lwIP 无操作系…...

RabbitMQ消息属性详解

content-type属性 如同各种标准化的HTTP规范,content-type传输消息体的MIME类型。例如,如果你的应用程序正在发送JSON序列化的数据值,那么将content-type属性设置为application/json将允许尚待开发的消费者应用程序在收到消息时检查消息类型…...

shader 混合模式

在所有着色器执行完毕,所有纹理都被应用,所有像素准备被呈现到屏幕之后,使用Blend命令来操作这些像素进行混合。 3.2 blend的语法 BlendOff:关闭blend混合(默认值) BlendSrcFactor DstFactor :配置并启动混…...

【大数据工具】Hive 安装

Hive 环境搭建与基本使用 Hive 安装包下载地址:https://dlcdn.apache.org/hive/ 注:安装 Hive 前要先安装好 MySQL 1. MySQL 安装 MySQL 安装包下载地址:https://dev.mysql.com/downloads/mysql/archives/community/MySQL%20::%20Downloa…...

Android9.0 iptables用INetd实现app某个时间段禁止上网的功能实现

1.前言 在9.0的系统rom定制化开发中,在system中netd网络这块的产品需要中,会要求设置app某个时间段禁止上网的功能,liunx中iptables命令也是比较重要的,接下来就来在INetd这块实现app某个时间段禁止上网的的相关功能,就是在系统中只能允许某个app某个时间段禁止上网,就是…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...

Spring AOP代理对象生成原理

代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】,这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解:从决策树开始理解三、解法一:二叉决策树 DFS四、解法二:组合式回溯写法(推荐)五、解法对比 递归算法是编程中一种非常强大且常见的思想,它能够优雅地解决很多复杂的…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...

boost::filesystem::path文件路径使用详解和示例

boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类&#xff0c;封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解&#xff0c;包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...