用改进的截距牛顿法解关于甲醇合成反应平衡常数的非线性方程组
2015-10-25齐文雅
王 丹,齐文雅
(1.中石化宁波工程有限公司上海分公司,上海200030;2.河南师范大学新联学院,河南新乡453007)
用改进的截距牛顿法解关于甲醇合成反应平衡常数的非线性方程组
王丹1,齐文雅2
(1.中石化宁波工程有限公司上海分公司,上海200030;2.河南师范大学新联学院,河南新乡453007)
用截距牛顿法求解二元非线性方程组,并给出了初始值偏离预定值时迭代发散问题的修正方法。借助此方法和MATLAB软件求出了甲醇合成反应的平衡常数。计算结果显示了该方法的正确性。
微推力;测试系统;噪声;巴特沃斯滤波器
甲醇是重要的化工产品和化工原料,也是一种清洁的能源[1]。在实际生产过程中,人们关注的是如何最大限度地提高甲醇产量。平衡常数反映了化学反应的最大进行程度,平衡常数的确定能很好地指导化学反应工程的设计。一个合成反应体系至少存在两个化学反应,这就需要求解至少由两个方程组成的非线性方程组,因此,平衡常数的求解是比较困难的。目前,关于平衡常数方面的研究还比较少见。
牛顿迭代法是解非线性方程f(x)=0的一种有效方法。根据非线性方程的不同情形,我们把牛顿迭代法分为经典牛顿迭代法、牛顿下山法、阻尼牛顿法、离散牛顿法[2]和截距牛顿法等。其中,截距牛顿法主要用于求导数过程比较复杂或计算量比较大的非线性方程。在本文中,我们利用多元函数的Taylor展开式导出了求解二元非线性方程组的牛顿迭代法。对于初始值偏离预定值而导致迭代发散的情形,我们提出了求解二元非线性方程组的截距牛顿法,并通过该方法求出了甲醇合成反应的平衡常数。
1 解二元非线性方程的牛顿迭代法
设函数f(x,y)在点(xn,yn)的某邻域内连续且有直到m+1阶的连续偏导数,(xn+h,yn+k)为此邻域内任一点,则函数f(x,y)的泰勒展开式[3]为
2 解二元非线性方程的截距牛顿迭代法
若要利用(3)式和(4)式进行迭代计算,则需要事先求出非线性函数f(x,y)、g(x,y)的偏导数。求非线性函数的偏导数过程是比较麻烦的,在实际计算过程中,常常利用差商代替偏导数,这就是前面提到的截距牛顿法。仿照一元非线性函数的截距牛顿法可以得出以下二元非线性函数的差商计算公式:
3 解二元非线性方程的改进截距牛顿迭代法
在应用截距牛顿迭代法过程中,我们发现初始值偏离预定值时会导致迭代发散,这是因为在迭代开始时,迭代值就溢出了有效范围。虽然牛顿下山法[4]能求解一元非线性方程,但它不适合求解二元及二元以上的非线性方程,为此,我们提出了能使变量值收敛的改进截距牛顿迭代法,并给出迭代的修正条件其中ψ1、ψ2为变量变化的允许值。
ψi(i =1,2)确定了防止变量溢出的有效范围,其取值在变量假定值与求解值的差值之间,并根据计算的实际情况而定。如果某个变量的迭代超出了有效范围,需要减小ψi(i =1,2),如果某个变量比其他变量提前收敛,也要减小ψi(i =1,2),否则需要增大ψi(i =1,2)。
修正的截距牛顿迭代公式为
其中的偏导数由(5)式~(8)式给出。
在迭代计算中,ω1和ω2分别从1开始并逐次减半,直到(9)式和(10)式满足为止。
4 甲醇合成平衡常数的计算
在本文中,我们将用改进的截距牛顿迭代法求解二元非线性方程组,并得出甲醇合成反应的平衡常数。关于甲醇合成反应平衡常数的相关内容见文献[5]。甲醇的合成反应方程式为
在反应(13)式和(14)式中,以逸度(逸度表示实际的有效压强,用f表示)表示的平衡常数为
而Kf1、Kf2的计算公式分别为
根据文献[5]中的(42)式,各物质的逸度可由温度、压力和各物质的密度及摩尔分率求得,而温度和压力可通过测量得到,密度可通过求解SHBWR状态方程(文献[5]中的(1)式~(23)式)得到(密度是随温度、压力和各物质的摩尔分率等因素的变化而变化的)。
各物质的摩尔分率(用X表示)的求解过程是先假定甲醇和二氧化碳的摩尔分率初始值X(CH3OH)和X(CO2),然后通过各物质之间的相互关系(文献[5]中(43)式~(47)式)求出其他物质的摩尔分率。
根据以上表述给出的方法,先由X(CH3OH)和X(CO2)的假定值求出密度和逸度,再算出(15)式、(16)式右边的值,然后与(17)式、(18)式的计算结果进行比较,直至X (CH3OH)和X(CO2)的假定值使(15)式、(16)式成立为止。
在本文中,需要求出的是未知数X(CH3OH)和X(CO2),而(15)式、(16)式组成的是二元非线性方程组,因此,利用改进的截距牛顿迭代法容易得出X (CH3OH)和X(CO2)。
算出各物质的摩尔分率后,再根据以下方程
求出平衡常数。
5 利用Matlab软件计算平衡常数
在利用Matlab软件计算平衡常数时,先用Matlab软件[6]编好计算程序,然后输入各原料的摩尔分率X(i):X (CH3OH)=0,X(H2)=0.628 5,X(CO)=0.130 5,X(N2)=0.004 7,X(CH4)=0.1406,X(CO2)=0.092 4,X(H2O)=0.0033,最后求出甲醇合成反应的平衡常数。表1给出了不同压力和温度条件下CH30H和C02的初始假定值和修正因子。表2给出了合成反应平衡时的摩尔分率(平衡组成)和平衡常数。
表1 CH3OH和CO2初始假定值和修正因子
表2 不同温度和压力条件下甲醇合成反应的平衡组成和平衡常数
通过迭代计算,我们得到如下结论。
若不用修正因子ψ1,X (CH3OH)的假定值与求解值只能相差0.01左右,否则X (CH3OH)的值导致迭代发散。
用了修正因子ψ1之后,当压力为30.39×106Pa,温度为250℃时,X (CH3OH)的假定值与求解值相差0.246 6(平衡时摩尔分率为0.246 6,假定值为0,相差为0.246 6),X (CH3OH)的值也能导致迭代收敛。
在以上温度和压力条件下,X (CH3OH)的假定值与求解值相差0.246 6,如果修正因子分别取ψ1=0.04和ψ2=0.01,则会导致迭代发散;如果修正因子分别取ψ1=0.01和ψ2=0.005,即缩小迭代步长,则导致迭代收敛。
6 结束语
在本文中,我们用改进的截距牛顿迭代法,求出了不同温度和压力下甲醇合成反应平衡时每种物质的摩尔分率和甲醇合成反应的平衡常数,这对于提高甲醇参考文献:
的产量具有重要的意义。
[1]曹发海,应卫勇,房鼎业.适合于大型化甲醇生产装置的反应器[J].石油与天然气化工,2004(33):16-19.
[2]李庆扬,关治,白峰杉.数值计算原理[M].北京:清华大学出版社,2001:259-269.
[3]徐瑞民.二元非线性方程组求根的牛顿迭代法[J].山东轻工业学院学报,2009(11):89-91.
[4]李丽容.对牛顿迭代法的改进[J].中国水运(理论版),2006(5):204-206.
[5]宋维端,朱炳辰,骆赞椿,等.应用SHBWR状态方程计算加压下甲醇合成的反应热和平衡常数[J].华东化工学院学报,1981(1):11-23.
[6]黄华江.实用化工计算机模拟[M].北京:化学工业出版社,2004:9-35.
【责任编辑王云鹏】
Modified Intercept Newton’s Method for the Nonlinear Equations with Equilibrium Constant of Methanol Synthesis
WANG Dan1,QI Wenya2
(1.Shanghai Branch,Sinopec Ningbo Engineering Co.Ltd.,Shanghai 200030,China;2.Xinlian College,Henan Normal University,Xinxiang 453007,China)
Intercept Newton’s method is derived to solve the nonlinear equations which are hard to differentiate.When the initial value deviates from a predetermined value,a correction method of iteration divergence problem was raised.At last,the reliability of the calculation for equilibrium constant of methanol synthesis through Matlab based on the modified intercept Newton’s method was proved.
intercept Newton’s method;correction factor;methanol synthesis;equilibrium constant
0241;TN713
A
2095-7726(2015)09-0007-03
2015-04-16
王丹(1987-),女,浙江衢州人,工程师,研究方向:化学工程。