化工热力学逸度计算_Matlab程序

合集下载

MATLAB在化工中的应用

MATLAB在化工中的应用

硕士研究生课程论文课程名称:MATLAB及其应用题目:MATLAB在热物理学中的应用题目类型:课程论文学院:专业名称:姓名:学号:任课教师:提交时间:2021 年11 月21 日MATLAB在热物理学中的应用摘要:本文阐述了基于MATLAB的数值计算、可视化图形处理、开放式以及可扩大体系构造的特点,并介绍了高性能语言MATLAB 在大学物理热物理学中的一些应用,包括在麦克斯韦速率分布和化工热力学中的应用。

MATLAB在化工中的应用给了我们很大的方便,特别是在计算和绘制图形方面,让我们对数据有更加直观的印象,更有利于我们对数据的处理。

关键词:MATLAB;麦克斯韦速率分布;热力学Application of MATLAB in thermal physicsAbstract:Based on MATLAB’s features of numerical calculation, visualization of graphics processing,opening and scalable architecture,introduced the applications of language of Matlab with high-performance in thermal physics of university physics,include in the Maxwell speed distributionand the chemical industry thermodynamics.MATLAB application in chemical industry gave us great convenience, especially in terms of calculation and drawing graphics, let's have a more intuitive impression on the data, is more advantageous to us for data processing.Key Words: MATLAB; Maxwell speed distribution; thermodynamic引言热物理学是化工研究的一个方向, 由于热物理学处理比拟复杂,恰当地使用可视化以展现数学公式的物理图像, 使其变得直观、形象。

化工热力学Ⅱ(高等化工热力学)——第四章 混合物的逸度.

化工热力学Ⅱ(高等化工热力学)——第四章 混合物的逸度.
第四章 混合物的逸度
4.1逸度及逸度系数 定义 dμi= d Gi =RTdlnfi
(1-49)
lim fi
p0
yiP
=1
逸度系数: i fi / yiP
(1-50)
4.1.1 以P.T为独立变量
由定义,有dGi =RTdlnf=i RTln(ipyi) =RT(dln i+dlnP) (恒温恒组成) (1)
由热力学函数:dGi=-Sdi T+Vi dP= VidP
(恒T)
(2)
由式(1) (2) 联立,得 d lnˆi
积分得:lnˆi

p 0
(
Zi
-1)
dP P
Vi dP d ln P RT
(恒温恒组成)
(4-1)

ln ˆi =
1 RT
p
0
(Vi-RPT)dP
4.1.2 以 V, T为独立变量
ˆi= 2
lnˆi= Vm0p
k
y j1
(Z-1)
jB
dP P
j-lnZ (4-6) (4-1)
式中:Z=PVm/RT=1+B’P=1+BP/RT
Z= i


(nZ) n
i
T,P,n
j

(n+nBP/RT) n
i
T,P,n
j
=1+
P RT

=y1B11+y2B22+y1y2(2B12-B11-B22)
=y1B11+y2B22+y1y2δ12 式中δ12=2B12-B11-B22
nB=n1B11+n2B22+(n1n2/n)δ12 上式对n1求偏导,得:

matlab在处理化工热力学数据中的应用

matlab在处理化工热力学数据中的应用

matlab在处理化工热力学数据中的应用在化工领域中,热力学数据的处理和分析对于工程师和研究人员来说是非常重要的。

这些数据包含了物质的热性质,如热容、热导率和热膨胀系数等,以及热力学过程中的能量转化和热平衡等关键信息。

为了更好地理解和应用这些数据,化工工程师和研究人员经常需要使用计算工具来处理和分析热力学数据。

其中,MATLAB作为一种强大的计算工具,在化工热力学数据的处理中具有广泛的应用。

MATLAB提供了丰富的数学函数和算法,使得化工热力学数据的处理和分析变得更加便捷和高效。

例如,在处理热容数据时,可以使用MATLAB的插值函数来拟合实验数据,从而得到更加准确的热容曲线。

在处理热导率数据时,可以使用MATLAB的曲线拟合函数来拟合实验数据,并通过计算斜率来得到热导率值。

这些数学函数和算法的应用,可以帮助化工工程师和研究人员更好地理解和分析热力学数据,为工程设计和科学研究提供支持。

MATLAB还提供了强大的数据可视化功能,可以将化工热力学数据以直观的图形形式展示出来。

通过绘制温度-热容曲线、温度-热导率曲线等图形,可以更清晰地观察和分析热力学数据的规律和特点。

此外,MATLAB还支持多种图形输出格式,如图片和矢量图,方便用户将数据图形化结果导出保存,以备后续分析和报告使用。

除了数学函数和数据可视化功能外,MATLAB还具有强大的数值计算能力,可以进行复杂的热力学计算和模拟。

例如,在热力学过程的能量平衡计算中,可以使用MATLAB的矩阵运算和方程求解函数,快速得到热力学系统的能量平衡方程解。

此外,MATLAB还支持多种数值积分和微分方法,可以用于求解热力学系统的微分方程和积分方程,从而得到更加准确的热力学参数和性质。

除了以上提到的功能,MATLAB还具有强大的编程能力,可以根据具体需求进行定制化的热力学数据处理和分析。

例如,可以编写MATLAB脚本来自动化处理大量的热力学数据,提高工作效率。

还可以编写MATLAB函数来实现特定的热力学计算方法,满足不同的研究和工程需求。

化工热力学-逸度

化工热力学-逸度

逸度系数的定义
i
fi p
理想气体: i 1 真实气体: i 1
3.3.2纯组分气体的逸度与逸度系数
1、状态方程法
2、普遍化方法
①第二维利系数法(Vr≥2) ②普遍化系度系数图表法(Vr≤2)
1、状态方程法
dGi RTd ln fi (T恒定) dGi Vi dp (T恒定)
RT d ln fi Vidp
参考态:P 0,逸度 fi* ,压力 P* ,并且 fi* P* 。
f
P
fi* RT d ln fi P* VidP
RT ln
fi fi*
P
P* VidP
RT ln
fi fi*
P
P* VidP
R-K方程
P
RT V b
T
a 0.5V (V
b)
dP
RT (V b)2
dV
T
a(2V b) 0.5V 2(V b)2
3.3.3纯液体的逸度计算
(1)饱和液体的逸度
dGi RT d ln fi (T恒定)
dG RT d ln f GiLS
fi LS
GiV S
i
fiVS
i
fi LS fiVS
(2)非饱和液体的逸度计算
dGi RT d ln fi ViLdP
d ln f fiL
p
fi LS
i
ps
理想气体
dGi RT d ln p
p 0 真实气体→理想气体 RTd ln fi RTd ln p
fi cp (c为常数)
逸度的定义
dGi RTd ln fi (T恒定)
lim fi 1 p0 p
限制条件

Matlab与化工数值计算-第1讲 简介与基本数学运算

Matlab与化工数值计算-第1讲 简介与基本数学运算

Superpro Designer
Fluent CHEMKIN
本课程的学习目的
学会Matlab的使用,可以利 用Matlab求解较为复杂的化 工数学模型 Matlab 对于数值分析 的内容不过多 涉及,只注意 数值计算结果 的准确性 化工专业知识 作为背景,不 涉及模型的推 导,注重模型 求解过程的方 法与技巧
>> 2000^1.8*(10^(-10.2158+1.7925e3/283+1.773e-2*2831.2631e- 5*283^2))^0.2/(20000*0.5^4.8*(0.3471*0.274^(-(1283/647.13)^0.28574))/0.2323) 回车可以得到结果 ans = 287.8245
短格式科学格式
长格式 长格式科学格式 有理格式 十六进制格式 银行格式
程序的组成
变量 数据输入
键盘输入 文件输入
变量 运算
数学运算 关系运算 逻辑运算
数据输出
屏幕输出 文件输出 图形输出
流程控制
变量
• 变量的命名方式:
– 变量名由字母、数字和下划线组成;
– 变量名中的英文字母大小写是有区别的;
– 变量名的最大长度是有规定的
0.01
基本数学运算符的使用
计算以下表达式的值: 1) [1 2 3]*[3 2 1] 2) [1 2 3].*[3 2 1] 3) [1 2 3]^2 4) [1 2 3].^2 5) 1+3*2^2 6) (3*2)^2 7) (3*2)^2; 8) (-8)^(1/3)
Matlab的计算器功能
u 2 2u2 0.170 2 F (u1 u 2 ) t x

化工热力学82.2 逸度和逸度系数

化工热力学82.2 逸度和逸度系数


fˆi Pxi
c.混合物的逸度f
dG RTd ln f lim f 1 P0 P
f
P
温度对逸度的影响
1)纯组分
对两边从理气
dGi RTd ln fi (T一定) 到实气积分
ln
fi P

R1T(Gi
Gi*)

1 [Hi R

H
* i
T
(Si

Si*)]
R ln
fi

R ln P
2.2 逸度与逸度系数
主讲教师:吕京宁
想飞的气球
里面的人想出来, 外面的人想进去, 这就是围城。
《饮湖上初晴后雨》 (苏轼)
欲把西湖比西子,浓妆淡抹总相宜。
逸度
• 物质在任何状态下都有逃逸该状态 的趋势,表征物质逃逸趋势的热力 学性质,就是逸度。
真实气体的状态方程
EOS 理想气体
vdW RK
PR
[ Hi

H
* i
T
(Si

Si*)]
具体推导 见P.77

ln fi T
)P

[
H
* i

Hi
RT 2
]

H
R i
RT 2
H
R i

剩余焓
2)混合物组分i

样有

ln T
fˆi
)P

[
H
* i

Hi
RT 2
]
溶液 γi(活度系数)
化学热力学的 方法
建立模型
5
三种逸度和逸度系数的比较(等温下)
a.纯组分逸度fi

【doc】用Matlab求解化工原理计算问题的教学初探

【doc】用Matlab求解化工原理计算问题的教学初探

用Matlab求解化工原理计算问题的教学初探第23卷第6期大学化学2008年12月用Matlab求解化工原理计算问题的教学初探唐正姣王存文孙炜欧阳贻德(武汉工程大学化工与制药学院湖北武汉430073)摘要以管路计算中的设计型问题和精馏过程计算中的操作型问题为例,分析了求解问题的思路,列出了详尽的Matlab计算源程序.计算过程及结果表明,利用Matlab求解化工原理计算问题具有数值稳定性好,使用方便,高效,快速等特点.化工原理的计算通常涉及2种类型:一类是设计型计算,即根据规定的生产任务设计出经济合理的设备或管路;另一类为操作型计算,指对某个过程或设备在一定条件下能够完成的任务进行计算或核定某个参数的指标.二者均为化工单元操作原理及其规律的具体应用,让学生进行设计型与操作型计算的训练是提高学生实际综合应用能力和水平的有效措施.化工原理的计算问题通常以工程实际问题为背景,求解过程经常涉及非线性方程(组),插值,曲线拟合,数值积分,图解等工程计算方法,往往要进行多次试差计算才能得到结果.学生在平时学习和做作业时遇到的主要困难是试差计算.教师的讲解只能够让学生理解用试差法求解问题的思路.试差计算必然遇到两个问题,即(1)如何设置变量的初值;(2)当第一次所设变量初值不能满足计算精度要求时如何重设变量值.这是学生最初应用试差法的两道障碍.笔者在上课时也给学生讲解用牛顿迭代法求解非线性方程的根,但学生较难掌握具体算法.因此,对于本科生而言,若有一种计算软件,只需弄清待求问题的求解思路,便能获得问题的解,将有助于提高解题效率.Matlab是目前流行的一种科学计算软件.Matlab语言是一种广泛应用于工程计算和数值分析领域的新型高级语言,它拥有大量的命令集和可用函数集,集数值计算功能,符号运算功能和图形处理功能于一身,形式简便,易于掌握J.使用Matlab编程与人进行科学计算的思路和表达方式相似.笔者在化工原理教学过程中,对应用Matlab软件求解化工原理计算问题进行了探索.现以管路计算中的设计型问题和精馏过程计算中的操作型问题为例进行介绍.1Matlab知识简介】Matlab程序的基本构成:(1)程序的定义.其作法是在程序首行用function定义,如func.tionflowrate.(2)主程序,它一般包括数据输入(已知参数),计算过程和结果输出(数值和图形结果),且计算过程往往要调用外部函数或/和自定义的内部函数.主程序代码紧接程序定义名后.(3)程序的内部函数.它是在程序中定义的函数,只供该程序调用.一般把定义这些内部函数的代码置于主程序之后.Matlab为单变量非线性方程和非线性方程组的求解分别提供了fzero函数和fsolve函数.37fzero函数结合使用二分法,割线法和可逆二次内插法进行求解,fsolve函数的算法为最小二乘法.因此Matlab的算法可靠,运行稳定.fzero函数的使用方法如下:调用格式:=fzero(@fun,n)输人参数:fun为用户定义的目标函数的函数名,定义单变量非线性方程f()=0中的.厂();为迭代初值.输出参数:为方程的根.fsolve函数的使用方法如下:调用格式::fsolve(@fun,‰)输人参数:fun为用户定义的目标函数的函数名,定义非线性方程组f()=0中的f(z), 该函数返回一个列向量;.为迭代初值向量.输出参数:为方程组的根向量.所以,当采用Matlab求解非线性方程(组)时,学生并不需要编制只有具备数值分析知识才能理解的算法程序,而只需要定义待求的非线性方程(组).对于变量的初值,由于Matlab的算法稳定,对初值的要求比较宽松.2计算实例算例1l2]:管路计算.已知一自来水总管内水压为2×10Pa(表压),现需从总管引出一支管,将自来水以3m./h的流量送至lO00m远的用户(常压),管路上有90.标准弯头l0个,球心阀(半开)2个.试计算该支管的直径.已知水温20℃,由于输送距离较长,位差可忽略不计.解:从支管引出处(上游1截面)至用户(下游2截面)之间列机械能守恒方程为:==(A寺+∑)争2(1)其中4=(2)将式(2)代入式(1)得:=(Al+∑)(3)摩擦系数A的计算式为:=1.74-21g(2号+18.7(4)其中::,-ff(5)式(1)~(5)中,d为管内径,z为管长,q为流量,P,P:分别为支管引出处,用户处的压强,u为流体的流速,为管子的粗糙度,为局部阻力系数,A为摩擦系数,为流体的粘度,P为流体的的密度.据已知条件:P:2×10Pa(表压),P.=0(表压),q:3m/h,z=lO00m.查文献[2],P:lO00kg/m,=1.005×10~Pa?So90.标准弯头10个:=0.75x10:7.5,球38心阀(半开)2个:=9.5×2=19;i~∑=.+=26.5.为确定适宜的管径,必须先选定管子的粗糙度,然后联立求解由式(3),(4)组成的非线性方程组,求出管径d与摩擦系数A,最后核算流速是否在经济流速范围内.利用Matlab提供的fsolve函数求解,非线性方程组)=0中的)定义如下:,d)=一(A寺+∑),2(A'd)=174+2fg(2音+)待求变量为A和d.Matlab程序(flowrate.m)清单如下:functionflowrate%程序定义已知流量,求适宜的管径clearall;clc%主程序开始globallengthroughplp2densiviscoqvlength=1000;%管子的长度与粗糙度pl=2e5;p2=0;%总管与用户处水压visco=1.005e一3;densi=1000;%水的粘度与密度qv:3/3600;%水的流量rough=input(管子的粗糙度(mm)=);rough=rough1e一3:x0:[0.03,0.05];x=fsolve(@NonlinEqs,x0);lamda=x(1);%摩擦系数计算值d=x(2);%管径计算值U=4qv/(3.14159d'2);fprinff(\nlamda=%.4f\td=%.ifmmu=%.2fm/s\n,lamda,d1000,u)%主程序结束functionf=NonlinEqs(x)%自定义的内部函数globallengthroughplp2densiviscoqvpai=3.14159:lamda=x(1);d=x(2);U=4qv/(pai:Icd'2);sumc=26.5:f(1)=(pl—p2)/densi一(1amdalength/d+sumc):I=u~2/2;%机械能守恒式Re=4densiqv/(paid%visco);f(2)=lamda(一0.5)一1.74+2logl0(2rough/d+18.7/Re/sqrt(1amda));%摩擦系数计算式从上述程序清单可见,程序的可读性强,编程量小,几乎是计算思路的直接演绎.根据文献[2],水煤气用新钢管的粗糙度为0.1—0.3mm,水在管内的适宜流速范围为0.5~3In?s~.表1列出了选用不同粗糙度的管材时的计算结果.可见,程序运行结果可靠.39表1不同粗糙度管材的适宜管径算例2]:计算回流比变化时的产品组成及塔板组成分布.某精馏塔有1O块理论板,用于分离苯.甲苯溶液,原料中苯的组成=0.25(摩尔分数,下同),于第8板(自塔顶开始计数)加料,物系的相对挥发度=2.47.已知回流比R:5,泡点进料时馏出液产品组成=0.98,釜液产品组成:0.085.若将回流比改为8,塔顶采出率D/F及进料热状况均不变,求塔顶,塔底的产品组成.,w及塔内各板的气液相组成. 解:原工况(R=5)时,据全塔物料衡算,有:::0.1844,D一w新工况(R=8)时,据全塔物料衡算,有::(6)^1,一D/F精馏段操作线方程为:RDy提馏段操作线方程为:R+F,DF/D一,n~w(7)(8)相平衡方程为:=—一(9)一d一(一1)Y,计算方法是以w为试差变量,利用式(6)~(9)求出.及塔板上两相组成分布(见图1),式(6)~(9)中,,Y分别指液相与气相中轻组分的摩尔分数,下标n或(n十1)为塔板序号,塔板自塔顶开始计数.若}w—.J≤(为收敛精度),则表明假设的w值正确,计算终止.显然,手算过程很繁琐.由上述分析可知,尽管运算过程复杂,但仅有一个未知变量w,可利用Matlab提供的fzero函数求解.定义函数.厂()为f()=.一w,.为w的复杂函数,其值通过逐板计算确定. 按R=5时的产品组成对w赋初值.x1X2X3X4X5X8X9X10ff\1\f\f\f\f\ff\fxD—y1y2y3y4y5y6y1y8Y9Ylo图1塔板气液组成的计算思路Matlab程序(distillation.13q)清单如下:functionditillation%程序定义clear;clc%主程序开始globalDTFxfalphaNMNRglobalYxxdDTF=0.1844;alpha=2.47;N=10;NM:8;%第6行xf=0.25;%第7行R=8;%第8行xw0=0.085;XW=fzero(@func,xw0);fprinff(\txd=%8.5f\txw=%8.5f\n,xd,xw);fprinff(\tNo\tx\ty\n);fori=1:Nfprintf(\t%3d\t%8.5f\t%8.5f\n,i,x(i),Y(i));end%主程序结束functionf=func(XW)%自定义内部函数globalDTFxfalphaRNMNYxxdxd=(xf—XW(1一DTF))/DTF;ifxd<0xd=0:elseifxd>1xd=1:endY(1)=xd;fori=1:(NM一1)x(i)=Y(i)/(alpha一(alpha一1)Y(i));%相平衡方程y(i+1)=R/(R+1)x(i)+xd/(R+1);%精馏段操作线方程ify(i+1)<0Y(i+1)=0;elseifY(i+1)>1Y(i+1)=1;endendfori=NM:(N一1)x(i)=Y(i)/(alpha一(alpha一1)Y(i));y(i+1)=(R:l=DTF+1)x(i)一(1一DTF)XW;Y(i+1)=Y(i+1)/(R+1)/DTF;%提馏段操作线方程ifY(i+1)<0Y(i+1):0;elseifY(i+1)>1Y(i+1)=1;endendx(N)=Y(N)/(alpha一(alpha一1)Y(N));f=x(N)一XW;程序运行结果:.=0.993,w:0.0821.各板组成见表2.41文献[3]的结果为初设值w=0.0821,.=0.0825,所以本程序运行结果可靠.本算例表明,fzero函数对待求单变量非线性方程f()=0中的函数)的定义很灵活,其形式繁简皆宜.表2塔板气液组成分布No.YNo.Y10.9820.99360.5200.72820.9600.98470.3520.57230.9150.96480.2290.42340.8310.92490.1480.30150.6950.849100.08210.18l算例3_3J:进料组成变动对精馏塔操作的影响:文献[3]指出:若一个精馏塔的进料组成由下降至,则在同一回流比及塔板数下塔顶馏出液组成将由.下降至,塔釜组成将由w下降至.理论教学时,常采用作图法阐释上述结论.如果让学生自己计算,不但可以加深对教学内容的理解,而且运算结果更具说服力.表3列出了进料组成变动(其他条件不变,即D/F=0.1844,回流比R=5,相对挥发度=2.47,总板数N=10,于第8板加料)时,采用distillation.ITI程序的运行结果.可见计算结果与预测趋势相符.表3进料组成变动对精馏结果的影响FXDXWFXDXW0.100.4610.O18O.200.8800.0460.150.6790.0300.220.9410.0570.180.8030.0390.250.9800.085若要预测加料位置,原料组成,回流比变化时产品质量的变化趋势,只要分别修改distil.1ation.m程序清单的第6行,第7行和第8行.以上3个算例表明,由于Matlab自带丰富的函数,学生只要清楚被求解问题的计算思路,掌握用Matlab编程的基础知识,就能很快利用Matlab求解化工原理计算问题.应用Matlab求解化工原理操作型计算问题,学生不需编制较难的数值计算程序(如求解非线性方程(组)),只需弄清问题的求解思路,编程难度大为降低,程序可读性强,计算快捷,准确.从笔者的教学实践看,当教师提供了示例程序清单后,学生能很快地掌握Matlab的编程方法,并在教师的示例程序基础上灵活变通,这样既提高了学生的学习积极性,又克服了学生对复杂计算的畏难情绪,可让学生有更多的精力用于创造性学习.参考文献1黄华江.实用化工计算机模拟——Madab在化学工程中的应用.北京:化学工业出版社,20042何潮洪,冯霄.化工原理(上册).北京:科学出版社,20013陈敏恒,丛德兹,方图南,等.化工原理(下册).第3版.北京:化学工业出版社,2006 42。

Matlab与化工数值计算-第5讲常微分方程数值解

Matlab与化工数值计算-第5讲常微分方程数值解
LOGO
Matlab与化工数值计算-第5 讲常微分方程数值解
odefile的编写
求解初值问题:
y
'
y
2x y
y ( 0 ) 1
(0x1)
y' f (x, y)
y(a)
y0
ode输入函数
输出变量为因变量 导数的表达式
function f=fun(x,y) f=y-2*x/y;
自变量在前,因变 量在后
可以设置的参数参见odeset ❖ P1,P2,…的作用是传递附加参数P1,P2,…到ode文件。当options缺省时,应
在相应位置保留[],以便正确传递参数。
常微分方程初值问题解算指令比较
解算指 令
算法
ode45 ode23 ode113
四五阶Runge-Kutta法
二三阶Runge-Kutta法
1.根据常微分方程要求的求解精度与速度要求
求解初值问题:
y
'
y
2x y
y ( 0 ) 1
(0x1)
比较ode45和ode23的求解精度和速度
ode45和ode23的比较
function Cha5demo1 %Comparison of results obtained from ode45 and ode23 solver format long y0=1; tic,[x1,y1]=ode45(@fun,[0,1],y0);t_ode45=toc tic,[x2,y2]=ode23(@fun,[0,1],y0);t_ode23=toc plot(x1,y1,'b-',x2,y2,'m-.'), xlabel('x'),ylabel('y'), legend('ODE45','ODE23','location','Northwest')

Matlab与化学化工计算

Matlab与化学化工计算

y y1
y=?
y0
y1 y0 y y0 ( x x0 ) x1 x0
x0
x
x1
x
并求取在该点的函数值
线性插值的优点是简单,快捷, 特别是对于插值结点间距较小的 情况可以取得令人满意的精度
3.2.2 二次插值
y


又称拉格朗日三点差值 根据三个已知点 [x0, y0], [x1,y1] , [x2,y2] (x0<x1<x2), 构造二次多项式插值函数 y=a0+a1x+a2x2,并用该函 数计算在x处的y值 二次插值公式
1.2 Matlab 的界面
剪切 打开文件 新建文件 复制 粘贴 撤销 重做 启动simulink 导航器 菜单栏 性能改进工具 当前路径 打开目录 打开上一级目录
目录窗口
工作空间 窗口标签 历史窗口 命令窗口 开始按钮
1.3 Matlab 的帮助功能

联机帮助系统
“Help”下拉菜 单中“Full Product Family Help”命令打开 联机帮助系统
取值
最近插值 线性插值,为interp1的缺省方法 分段三次样条插值 分段三次Hermite插值 同pchip
不同方法插值的结果

在[0,2π]区间内生成11个等距的离散点, 计算函数y=sin(x)的数值
最近插值 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7
2000年,MATLAB 6.0版
2001年,MATLAB 6.1版 2002年,MATLAB 6.5版 2004年,MATLAB 7.0版
Matlab 的优点

Matlab在“化工热力学”教学中的应用

Matlab在“化工热力学”教学中的应用

“化工热力学”是一门基于热力学的实用型工程学科,对培养卓越工程师具有重要作用。

本课程涉及到大量的模型求解,若手工计算则耗时费力,而且容易出错。

在课程讲授中,通过引导学生采用计算机编程,不仅可以简化计算过程,而且也能激发学生的兴趣与积极性[1]。

相比于其他编程语言,Matlab 语言简单易学,内部集成了大量的库函数,允许用户根据需求自定义函数,其数值计算功能非常优异,还具备强大的数据可视化能力。

基于这些优点,Matlab 非常适用于工程中的各类数值计算[2-4]。

在“化工热力学”中,普遍化第二Virial 系数法是教学的重点之一。

本文以运用该方法计算纯组分于一定温度压力下的压缩因子、剩余焓(熵)、实际过程的焓变和混合物的体积为例,介绍Matlab 在“化工热力学”中的应用。

1纯组分压缩因子的计算计算示例:试用三参数普遍化第二Virial 系数法计算甲烷在25℃,5.760MPa 、3.940MPa 、2.651MPa 、1.768MPa 压力下的压缩因子Z 。

经计算,该条件下的甲烷气体V r >2,可使用普遍化第二Virial 系数法计算。

1.1计算原理计算公式:Z =1+Bp c RT c ·prT r(1)式中:Bp cRT c=B 0+ωB 1(2)B 0=0.1445-0.33T r -0.1385T r 2-0.0121T r 3-0.000607T r 8(3)B 1=0.0637+0.331T r 2-0.423T r3-0.008T r 8(4)T r =T T c(5)p r =pp c (6)T c 、p c 、ω分别为组分的临界温度、临界压力与偏心因子,数据来自附录2[5];T 、p 为组分的温度与压力;T r 、p r 分别为对比温度与对比压力。

1.2计算程序新建一个名为Thrp 的函数,编辑代码如下:function [Tr ,pr ,omega]=Thrp (ppc ,T ,p )%Thrp 函数可以计算普遍化的三参数%要求ppc 矩阵的每一行分别为一种物质的临界温度[K]、临界压力[MPa]及偏心因子;T[K]、p[MPa]为同型的行向量或数值。

计算机在化工中的应用-习题集

计算机在化工中的应用-习题集

J =62.3 lbm / ft 3
1 ft=0.3048m T(o R)=1.8T(K) 1Btu=1055J 1 lbm=0.4536kg
1.8 计算双组分简单精馏塔的理论板数 氯仿-苯双组分精馏系统的气液相平衡数据如下表所示。对氯仿而言,规定:
x f 0.4, xd 0.9, xw 0.15
化率。 提示:等温管式反应器模型为: VR FA0 因此,反应器管长为: L
xA 0 x A dx dx y A0 F0 0 (r ) (rA ) A
x A dx VR 4 y A0 F0 2 2 0 (r ) ( d / 4) d A
然后得到 pA 和 ps 的表达式带入上式中的反应动力学表达式即可。 1.10 等温管式反应器的空时计算 某气相二聚反应 A→3R 在等温恒压管式反应器内进行,反应条件为 T=2150C,
Matlab 在化工中的应用习题集
第一章 化工中的数值分析与求解
1.1. 简单精馏计算(fzero) 简单精馏时,某时刻釜液残液量 F 与低沸点组成 x 之间的关系式为:
ln F0 1 x0 1 x ln ln F 1 x 1 x0
对于苯-甲苯物系,相对挥发度 a=2.5,开始时物系中含苯 60%。试求当蒸馏 至残液量为原加料量的一半时残液中的苯含量。 1.2. 气体状态方程的求解(fzero 或 roots)
6.264×108 111528
B
k3
D k5
k k0 exp( Ea / RT ) 。已知:
k0i Eai 5.7805×1010 124670 3.9232×1012 150386 1.6425×104 77954
C

逸度模型 matlab

逸度模型 matlab

逸度模型matlab逸度模型是一种描述气体在多相平衡系统中分布的数学模型,被广泛应用于化工、环保、食品等领域的科学研究和工程应用中。

本文将介绍逸度模型的基本概念,以及如何在MATLAB环境中实现其数值计算方法。

此外,还将通过实际案例分析,展示逸度模型在解决实际问题中的重要作用。

一、逸度模型的简介逸度模型是基于Maxwell-Boltzmann分布定律和Dalton分压定律的一种气体分布模型。

它假设在多相平衡系统中,各相气体分子按照其逸度分布,从而可以预测各相气体的分压。

逸度是气体分子在某一相中的扩散能力,与气体分子的浓度、温度、压力等因素有关。

通过逸度模型,可以更好地了解气体在多相平衡系统中的行为,为实际工程应用提供理论依据。

二、MATLAB实现逸度模型的方法在MATLAB中实现逸度模型的数值计算,首先需要根据实际问题建立相应的数学模型。

以二维为例,设气体在x-y平面上存在两个相,分别为相1和相2。

假设两个相的气体分子数分别为n1和n2,则可以得到以下方程组:1/x = -k1*n1*(p1-p2)/(RT)2/x = -k2*n2*(p2-p1)/(RT)其中,k1和k2分别为两个相的逸度系数,p1和p2分别为两个相的气体分压,R为气体常数,T为系统温度。

接下来,利用MATLAB的数值计算功能,求解上述方程组。

可以采用有限差分法、有限元法等方法进行求解。

以下是一个简单的MATLAB代码示例:```MATLABfunction [n1, n2] = solve_fugacity_model(k1, k2, p1, p2, T, x) % 参数设定R = 8.314; % 气体常数dx = 0.1; % 空间步长n10 = 100; % 初始分子数n20 = 100; % 初始分子数x0 = 0; % 初始位置x_end = 10; % 计算区域终点nt = 1000; % 时间步长t_end = 100; % 计算时间终点% 初始化n1 = zeros(1, nt);n2 = zeros(1, nt);t = zeros(1, nt);x = linspace(x0, x_end, nt);% 数值求解for i = 1:nt% 更新分子数n1(i) = n10 * exp(-k1 * (p1 - p2) / (R * T))n2(i) = n20 * exp(-k2 * (p2 - p1) / (R * T))% 计算时间步长t(i) = (i - 1) * t_end / nt% 输出结果fprintf("x = %f, n1 = %f, n2 = %f", x(i), n1(i), n2(i));endend% 调用函数solve_fugacity_model(k1, k2, p1, p2, T, x);```三、逸度模型在实际应用中的案例介绍1.化工领域:在化工过程中,逸度模型被用于预测气体在多相反应器中的分布,为优化反应器设计和操作提供依据。

Matlab在《化工热力学》教学中的应用

Matlab在《化工热力学》教学中的应用
备 能融会 贯通 地利 用 所 学 知识 , 针对 不 断 变 化 的
需要迭代试差计算. 传统手工计算 , 初值要求高 , 且计算 量很 大 , 用普 通 编程语 言如 C V 、 B等编
程 j需要编 写数 值计 算 方法 . , 而美 国 Ma Wok t rs h 公 司 开发 的数 学 软 件 M th可 很好 地 解 决 手 工 al a 计算 和普通 语 言编 程 的缺 点 , 方 便 地 用 于非 线 很 性方 程 ( ) 算 、 据 回归 等 , 组 计 数 广泛 应 用 于工 程 计算 . Maa 含 了大 量 的计 算 算 法 , 有数 百 个 tb包 l 拥 数 学运算 函数 , 户通 过 调 用 可方 便 地 进 行各 种 用 计算 . 函数 中所 使 用 的算 法 都 是 工程 计 算 中的 最 经常使 用 的 , 且经 过各种 优化 处理 , 大大 提高 了
J1 2 2 u . 01
文 章 编 号 :0725 ( 0 2 0 -0 30 10 -8 3 2 1 )70 5 - 4
Mal t b在 《 工 热 力 学》 学 中的应 用 a 化 教
邱 挺, 黄智 贤, 王红星 , 李 晓
( 福州大学 化学化工学 院 , 福建 福州 30 0 ) 5 18
关 键 词: 化工热力学 ; a a ; M t b 状态方程 ; l 相平衡 ; 迭代 文献标志码 : A 中图分类号 : 4 G6 2
化学 工程 与工 艺 专业 是 我校 首 批启 动 “ 越 卓
点, 频繁 涉 及 到非 线性 方 程 和方 程 组 的求 解 H , 引
工程师教育培养计划” 的专业. 卓越工程师” “ 具
化 工热力 学是化 学 工程 与技术 的一个 重要 分

matlab在《化工热力学》教学中的应用

matlab在《化工热力学》教学中的应用

matlab在《化工热力学》教学中的应用化工热力学是化工工程专业中重要的一门基础课程,其主要研究物质的热力学性质和热力学过程,以及在工程实践中的应用。

而MATLAB作为一种强大的数学计算软件,可以在化工热力学教学中发挥重要的作用。

1. 热力学计算
MATLAB可以用来进行热力学计算,如热力学性质计算、物质的热力学过程计算等。

通过编写程序,可以方便地进行热力学参数的计算和分析,如热容、焓、熵等。

2. 热力学图表绘制
MATLAB可以用来绘制各种热力学图表,如P-T图、H-S图等。

通过自定义绘图函数,可以快速地绘制出需要的图表,方便学生理解和掌握热力学知识。

3. 热力学实验数据处理
化工热力学实验是化工热力学教学中重要的一环,而MATLAB可以用来处理热力学实验数据。

通过编写程序,可以方便地进行实验数据的处理和分析,如拟合热力学实验数据,计算反应焓、反应熵等。

4. 热力学模型建立与模拟
化工热力学在工程实践中有重要的应用,而MATLAB可以用来建立热力学模型并进行模拟。

通过编写程序,可以建立各种热力学模型,如饱和蒸汽压力模型、物质相平衡模型等。

并且可以进行模拟,预测和分析不同条件下的热力学过程。

综上所述,MATLAB在化工热力学教学中具有重要的应用价值。

它可以方便地进行热力学计算、绘制热力学图表、处理实验数据以及建立热力学模型并进行模拟。

这些应用不仅可以提高学生的学习效果,同时也为化工工程师在实际工程中的热力学应用提供了有力的支持。

化工热力学逸度计算_Matlab程序

化工热力学逸度计算_Matlab程序
例:求 C4 H10 在 460K,1.520MPa 下的逸度 方法 1. I.g 解: R-K 法:
Tc 425K
2. R-K
Pc 3.80MPa
3. 普遍化关联
w 0.193
. 5 6 /23.8 10 2.8955 10
பைடு நூலகம்
a 0.42748R 2Tc 2 . /5 Pc 0.42748 8.314 2425
425380cctkp??225225666019304274804274883144253810289551000866400866483144253810805610ccccmpawartpbrtp????????????????vzrtp用matlab编程实现首先建立函数myfun1和函数myfun2functionffmyfun1z
输入命令开始迭代 Z=0.5;ff=myfun1(Z); while ff>0.001 Z=Z+0.0001; if Z<1 ff=myfun1(Z) myfun2(Z) end end 结果为:压缩因子:0.8835 正丁烷的摩尔体积:0.002223 正丁烷的逸度系数:0.89431 正丁烷的逸度:1359345.5333 2.普遍化关联法 T=460;P=1.52e+6; %普遍化关联法 Tc=425;Pc=3.8e+6;w=0.193;R=8.314; Tr=T/Tc;Pr=P/Pc; BO=0.083-0.422/(Tr^1.6); B1=0.139-0.172/(Tr^4.2); B=BO+w*B1; xishu=exp(B*Pr/Tr); f=P*xishu; disp(['正丁烷的逸度系数:',num2str(xishu)]); disp(['正丁烷的逸度:',num2str(f)]); 正丁烷的逸度系数:0.89977 正丁烷的逸度:1367646.3748

matlab在处理化工热力学数据中的应用

matlab在处理化工热力学数据中的应用

matlab在处理化工热力学数据中的应用1.背景介绍化工热力学是化学工程学科的重要分支,其基本任务是研究化学反应和化工过程中的热力学问题,为化工生产提供理论依据。

在研究过程中,大量的数据需要进行处理和计算,因此,计算工具的选择至关重要。

Matlab作为一个强大的数学计算软件平台,在处理化工热力学数据中具有广泛的应用。

本文将从三个方面探讨在化工热力学中应用Matlab的方法和优势。

2.热力学性质的计算化学反应和化工过程中的热力学性质是化工热力学研究的关键问题,如反应热、摩尔热容、摩尔焓等。

这些性质的计算往往需要用到热力学数据,如热力学函数、热力学参数等。

Matlab提供了各种计算函数和工具箱,可以方便地进行热力学性质的计算和处理。

在热力学数据处理中,Matlab可以帮助我们完成如下任务:2.1导入数据在处理化工热力学数据时,需要先将数据导入到Matlab中进行处理。

Matlab支持多种数据格式的读取和导入,如Excel、文本、mat等格式,只需几行代码即可完成数据导入。

2.2计算热力学性质Matlab提供了多种计算热力学性质的函数和工具箱,如thermo工具箱、chemkin工具箱等。

利用这些工具箱,我们可以方便地计算热力学函数、热力学参数等。

2.3统计分析在处理大量的热力学数据时,我们往往需要进行统计分析。

Matlab提供了丰富的统计分析工具箱,如统计分析工具箱、神经网络工具箱等,可以帮助我们进行数据的分类、聚类、预测等统计分析操作。

3.热力学模型的建立热力学模型是化工热力学研究的核心内容,其目的是对化学反应和化工过程中的热力学问题进行数学建模。

Matlab作为一个强大的计算平台,可以帮助我们快速建立热力学模型,进行模拟和分析。

在热力学模型的建立中,Matlab可以帮助我们完成如下任务:3.1数学建模Matlab提供了强大的数学建模工具,如符号工具箱、优化工具箱、最小二乘拟合工具箱等,可以帮助我们进行数学建模,分析反应机理和反应动力学参数。

逸度模型 matlab

逸度模型 matlab

逸度模型 matlab【原创版】目录1.逸度模型的概念与应用领域2.MATLAB 的基本介绍3.逸度模型在 MATLAB 中的实现方法4.逸度模型的实际应用案例5.总结与展望正文1.逸度模型的概念与应用领域逸度模型是一种研究复杂系统中各组成部分之间相互作用和动态演化的数学模型。

该模型广泛应用于生态学、经济学、社会学等多个学科领域,以探讨各种现实问题。

逸度模型强调了系统内部的非线性相互作用,从而可以揭示系统在演化过程中可能出现的突变、崩溃等现象。

2.MATLAB 的基本介绍MATLAB(Matrix Laboratory)是一款强大的数学软件,主要用于数值计算、数据分析、可视化以及算法开发等。

MATLAB 具有丰富的函数库和工具箱,可以方便地处理和分析各种复杂数学问题。

此外,MATLAB 还支持与其他软件的接口,如 Excel、Python 等,为用户提供了极大的便利。

3.逸度模型在 MATLAB 中的实现方法在 MATLAB 中实现逸度模型主要可以通过编写脚本或使用现有的工具箱。

首先,用户需要根据具体问题构建逸度模型的数学表达式。

然后,利用 MATLAB 提供的函数库,如 ode45、ode23 等,对模型进行数值求解。

此外,MATLAB 还提供了可视化工具,如 plot、scatter 等,用于显示逸度模型的演化过程和结果。

4.逸度模型的实际应用案例逸度模型在各个领域都有广泛的应用。

例如,在生态学中,可以用逸度模型研究物种的共生与竞争关系;在经济学中,可以用逸度模型探讨经济系统的稳定性和周期性波动;在社会学中,可以用逸度模型分析社会网络的演化规律等。

这些实际应用案例都充分展示了逸度模型在解决现实问题中的重要价值。

5.总结与展望逸度模型作为一种研究复杂系统演化的有力工具,在各个领域都取得了显著的成果。

MATLAB 作为一款功能强大的数学软件,为逸度模型的研究和应用提供了极大的便利。

逸度模型 matlab

逸度模型 matlab

逸度模型matlab摘要:I.引言A.介绍逸度模型B.阐述其在工程领域的重要性II.逸度模型的基本原理A.逸度模型的定义B.逸度模型的基本方程C.逸度模型的性质III.逸度模型的应用领域A.传热过程B.化学反应C.相变过程D.其他工程领域IV.逸度模型的数值求解A.数值求解方法B.逸度模型的MATLAB 实现C.结果分析与讨论V.逸度模型的局限性与展望A.逸度模型的局限性B.研究展望正文:逸度模型是一种描述物质传输过程的数学模型,广泛应用于工程领域。

它的重要性在于能够提供一个理论框架,帮助我们理解和预测各种传输现象。

本文将介绍逸度模型的基本原理、应用领域、数值求解方法及其局限性与展望。

首先,我们来了解逸度模型的基本原理。

逸度模型是描述物质传输过程的一种宏观模型,它将传输过程分解为扩散和对流两个部分。

逸度模型由Navier-Stokes 方程和能量方程组成,其中Navier-Stokes 方程描述流体的运动,能量方程描述热量的传输。

逸度模型在工程领域有广泛的应用。

在传热过程中,逸度模型可以用来分析热传导、热对流和热辐射等多种传热方式。

在化学反应中,逸度模型可以用来描述反应物和产物的扩散过程。

在相变过程中,逸度模型可以用来分析物质在固态、液态和气态之间的转变过程。

此外,逸度模型还在其他工程领域,如多相流、生物传热和环境工程等方面有广泛应用。

为了求解逸度模型,我们需要采用数值方法。

常用的数值求解方法有有限差分法、有限元法和有限体积法等。

在这里,我们以MATLAB 为例,介绍逸度模型的数值求解方法。

首先,我们需要建立一个三维网格,然后使用有限差分法将逸度模型离散化为一个线性方程组。

最后,我们可以使用MATLAB 内置的线性方程求解函数求解该方程组,得到数值解。

虽然逸度模型在工程领域有广泛的应用,但它也存在一些局限性。

例如,逸度模型假设物质是连续的,忽略了物质内部的结构;此外,逸度模型中的输运系数通常是经验的,无法从理论上得到精确的数值。

化工热力学:2.3 逸度系数和逸度

化工热力学:2.3 逸度系数和逸度

Ml
Mg
M
指饱和蒸汽在湿蒸汽 中 所 占 的mol或wt )
M V , U , H , S , A ,G , CV , CP ,
22
§2.4.1两相系统的热力学性质
M Ml 1 x M g x
01
Ml x Mg Ml
x为气相的质量分数(品质或干度);M为单位质
量的某一热力学性质;Ml为单位质量饱和液体的
i
lni
P Zi 1dP 0P
1
RT
P 0
(Vi
RT P
)dP
6
剩余体积 Vi R
Vi
RT P
lni 1 RT
P
0 (Vi
RT P
)dP
1 RT
P Vi RdP
0
Vi R
PVi RdP 0
P
7
§2.3.2.2 由 H、S数据计算纯物质的逸度系数
dGi
RTd ln
fi (T一定) d

ln i
lni
Zi 1 ln( Zi
Zi 1 ln( Zi
B) A ln(1 B )
B
bP
a
Zi b
RT
)
bRT 1.5
ln( 1 Vi
)
11
§2.3.2.3由状态方程计算纯物质的逸度系数
RK方程
ln
f P
Zi
1
ln( Z i
bP RT
)
a bRT 1.5
ln(1
b Vi
)
SRK方程
24
3.6.2 热力学性质图
T-S图
临界点
h-S图
25
1-过冷水

逸度模型 matlab

逸度模型 matlab

逸度模型 matlabMatlab是一种非常强大的科学计算软件,它可以用于各种领域的计算和模拟。

在Matlab中,以逸度模型是一种常用的模型,用于描述物体或系统的动力学行为。

本文将介绍以逸度模型在Matlab中的应用,以及如何使用该模型来解决实际问题。

以逸度模型是一种描述物体或系统运动的数学模型,它基于质点的运动学原理,通过求解质点的运动方程来预测物体的运动轨迹。

以逸度模型最基本的形式是一阶微分方程,可以用来描述质点的加速度与外力之间的关系。

在Matlab中,可以使用ode45函数来求解以逸度模型的微分方程,得到物体的运动轨迹。

在使用以逸度模型求解实际问题时,首先需要确定系统的动力学方程。

这个方程描述了物体受到的各种力的作用,以及这些力对物体运动的影响。

在Matlab中,可以通过编写函数来定义系统的动力学方程,并作为参数传递给ode45函数。

以逸度模型在多个领域都有广泛的应用。

例如,在机械工程中,可以使用以逸度模型来描述机械系统的运动;在电路分析中,可以使用以逸度模型来描述电路元件的行为;在化学动力学中,可以使用以逸度模型来描述化学反应的速率等。

无论是哪个领域,以逸度模型都可以帮助我们更好地理解物体或系统的运动规律,并进行预测和优化。

为了更好地理解以逸度模型在Matlab中的应用,下面以一个简单的例子来说明。

假设有一个质点在水平面上受到一个恒定的外力作用,我们想要求解质点的运动轨迹。

首先,我们需要确定质点的动力学方程。

根据牛顿第二定律,质点的加速度与外力之间的关系可以表示为:\[F = m \cdot a\]其中,F是外力,m是质点的质量,a是质点的加速度。

在这个例子中,外力是恒定的,所以我们可以将它表示为一个常数。

假设外力的大小为F0,则质点的动力学方程可以表示为:\[F0 = m \cdot a\]接下来,我们可以将动力学方程转化为一阶微分方程的形式。

根据加速度的定义,我们可以得到:\[a = \frac{dv}{dt}\]其中,v是质点的速度,t是时间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

b 0.08664 RTc / Pc 0.08664 8.314 425 / 3.8 106 80.56 10 6
v=Z*R*T/P 用 MATLAB 编程实现,首先建立函数 myfun1 和函数 myfun2 function ff=myfun1(Z); T=460;P=1.52e+6; %R-K 方法 Tc=425;Pc=3.8e+6;w=0.193;R=8.314; b=0.08664*R*Tc/Pc; a=0.42747*R^2*Tc^2.5/Pc; v=Z*R*T/P; righteq=(R*T)/(v-b)-a/(T^0.5*v*(v+b)) ff=abs(P/righteq-1); function xishu=myfun2(Z) T=460;P=1.52e+6; %R-K 方法 Tc=425;Pc=3.8e+6;w=0.193;R=8.314; b=0.08664*R*Tc/Pc; a=0.42747*R^2*Tc^2.5/Pc; v=Z*R*T/P; xishu=exp(log(v/(v-b))+a*log(v/(v+b))/(T^0.5*b*R*T)+Z-1-log(Z)) f=P*xishu disp(['压缩因子:',num2str(Z)]); disp(['正丁烷的摩尔体积:',num2str(v)]); disp(['正丁烷的逸度系数:',num2str(xishu)]); disp(['正丁烷的逸度:',num2str(f)]);
例:求 C4 H10 在 460K,1.520MPa 下的逸度 方法 1. I.g 解: R-K 法:
Tc 425K
2. R-K
Pc 3.80MPa
3. 普/23.8 10 2.8955 10
a 0.42748R 2Tc 2 . /5 Pc 0.42748 8.314 2425
输入命令开始迭代 Z=0.5;ff=myfun1(Z); while ff>0.001 Z=Z+0.0001; if Z<1 ff=myfun1(Z) myfun2(Z) end end 结果为:压缩因子:0.8835 正丁烷的摩尔体积:0.002223 正丁烷的逸度系数:0.89431 正丁烷的逸度:1359345.5333 2.普遍化关联法 T=460;P=1.52e+6; %普遍化关联法 Tc=425;Pc=3.8e+6;w=0.193;R=8.314; Tr=T/Tc;Pr=P/Pc; BO=0.083-0.422/(Tr^1.6); B1=0.139-0.172/(Tr^4.2); B=BO+w*B1; xishu=exp(B*Pr/Tr); f=P*xishu; disp(['正丁烷的逸度系数:',num2str(xishu)]); disp(['正丁烷的逸度:',num2str(f)]); 正丁烷的逸度系数:0.89977 正丁烷的逸度:1367646.3748
相关文档
最新文档