计算机在化学化工中的应用报告

更新时间:2023-04-23 04:28:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

直接迭代法计算气体体积

问题提出及解决办法:在化工热力学中我们经常会碰到求解在一定温度和压力下的某种气体的摩尔体积的问题,采用范德华方程有:

P RTa (1) 0.5V bV(V b)T

其中P为压力,T为温度均为已知条件,a,b对应物质特有常数,只要查相应临界参数Tc、Pc,然后根据: R2Tc2.5a=0.42748 Pc

b=0.08664RTc Pc

RTa是一个非线性方程,用一般方法 V bV(V b)T0.5就可求出。范德华方程P

难以求解,必须采用迭代法,将其转换成迭代形式:V(k 1) RT b (2) a P0.5(k)(k)TV(V b)

RT为初值带入(2)进行P对于气体,化工中常常将理想状态作为初值,即V(0)

迭代计算。

列如:试计算水蒸气在10.3MPa和643K下的摩尔体积。已知水的临界常数与偏心因子分别为Tc=647.3K,Pc=22.05MPa

将其编程成VB程序,在窗口界面中输入题中所给数据就能快速求解出水蒸气的体积。

VB程序代码如下:

Dim x0, x1, eer, er, k, Tc, Pc, P, T

R = 8.314

P = Val(Text1.Text)

T = Val(Text2.Text)

Pc = Val(Text3.Text)

Tc = Val(Text4.Text)

er = Val(Text5.Text)

a = 0.042748 * R ^ 2 * Tc ^ 2.5 / Pc

b = 0.08664 * R * Tc / Pc

x0 = R * T / P

k = 0

100 x1 = (R * T / ((a / (T ^ 0.5 * (x0 ^ 2 + b * x0))) + P)) + b

k = k + 1

eer = x1 - x0

If Abs(eer) < er Then

x1 = Int(x1 * 10000 + 0.5) / 10000

Text7.Text = Str(x1)

Text6.Text = Str(k)

Else

x0 = x1

GoTo 100

End If

End Sub

Private Sub Command2_Click()

Text1.Text = "": Text2.Text = "": Text3.Text = "": Text4.Text = "": Text5.Text = "": Text6.Text = "": Text7.Text = "":

End Sub

运行结果如下:

总结:对于简单的问题,所需迭代次数较少,我们可以进行手动计算,但是对于化工实际生产中常常是非常复杂的问题,需要的迭代次数较多,计算量十分大。对于这样一类问题,我们可以利用计算机语言将其编成程序,只需要输入相应数据就能快速精确解决。编程过程中会遇到很多问题,在遇到错误时只要耐心调试,不断改进最终就能顺利运行程序!

本文来源:https://www.bwwdw.com/article/qovq.html

Top