水溶液全循环法尿素合成塔模拟软件的开发

2011-03-14

    目前,尿素合成工艺主要有水溶液全循环法、三井东压、东洋工程改良C法、斯卡米卡邦二氧化碳汽提法、斯纳姆普罗盖蒂氨汽提法等,其中水溶液全循环法由于投资少、起步早、国产技术最成熟等因素,采用该技术生产的尿素约占我国尿素总生产能力的50%左右,因而对水溶液全循环法尿素生产流程进行模拟研究,对于提高尿素产量和节能改造提供理论指导具有很重要的实际意义。

    在现代工业流程的模拟计算中,计算机已经得到了广泛的应用。虽然目前已有对尿素合成塔、氨汽提塔、合成高压圈甚至是整个尿素生产流程进行了数值模拟的研究报道,但由于尿素合成中所涉及的物系是强极性的非理想性物系,同时尿素合成塔是在高温高压的操作条件下运行的,各类因素综合起来使得对该装置的准确模拟计算比较困难。目前国内仅有青岛科技大学的URPS尿素模拟软件可以应用于水溶液全循环法尿素流程模拟计算中。迄今为止,对该流程的模拟依旧存在很多问题难以实现商业化。现在国内尿素生产装置同时面临着装置老化和技术改造的压力,开发能够用于尿素合成装置改造的模拟软件,对水溶液全循环法尿素合成塔进行模拟优化具有非常重要的工业意义。该文以《化肥工业丛书——尿素》一书中提供的参数为设计基准对水溶液全循环法的尿素合成塔的工况,开发出了尿素合成塔的模拟软件,该软件除了具有常规水溶液全循环法模拟计算的功能外,还具有对工业生产中尿素合成塔的某些改造工况进行模拟计算的功能,从而扩大了软件的适用范围,为今后进行尿素合成塔技术改造提供技术支持。

    在该软件的开发过程中采用了2种高级语言混合编程的方法。Visual Fortran(VF)Visual Basic(VB)间的混合编程及调用方法使得所有数据都通过硬盘文件进行交换,数据交换非常经济,效率也非常高。最终完成的软件具有较为理想的计算功能和良好的人机交互界面。

    1 模拟软件的数学模型

    水溶液全循环法尿素合成塔中可视为两相物流,其中气相物流是由NH3CO2H2O以及惰性气体N2H2O2等构成的混合物,液相物流是复杂的NH3-H2O-CO2-CO(NH2)2构成的混合物系。模拟计算主要涉及的模型有热力学模型、反应动力学模型和塔的物理模型。

    1.1 合成反应模型及基本假设

    在高温高压条件下,尿素合成过程是1个复杂的多相反应过程。通过前人的研究,已经对该过程做了合理的假设和简化,在简化后的反应过程中只考虑了甲铵生成反应、甲铵脱水生成尿素的反应。简化后的反应过程更易于模拟,同时不会影响模拟的准确性。

    1.1.1 热力学模型

    尿素合成物系所涉及的物流有气相物流和液相物流。为了计算方便,取各物流零焓值的基准态:温度,25℃;压力,0.1MPaNH3CO2H2N2O2均为气态纯物质;H2O为液态纯物质。气相混合物的熔选用Nakamura提出扰动硬球状态方程-Pedured-Hard-Sphere(PHS)状态方程计算;而液相混合物的焓则通过计算理想溶液的焓以及实际溶液与理想溶液的焓差(过剩焓)获得。气相非理想性也是选用PHS状态方程计算气相各组分逸度系数来描述。液相非理想性选用扩展UNIQUAC方程来计算各组分的活度系数。

    1.1.2 动力学模型

    在进行尿素合成反应的过程中NH3CO2必须溶解成为液态才会生成甲铵,因此甲铵生成反应分为2步,其中第2步反应瞬间完成。

    1步:

    NH3(g)DNH3(1)         (1)

    CO2(g)DCO2(1)         (2)

    2步:

    2NH3(1)+CO2(1)DNH2COONH4(1)        (3)

    甲铵生成反应几乎在瞬间即可达到化学平衡。当NH3过量时,溶解态的CO2能极快地几乎全部(97%-98%)转化为液态甲铵(反应方程式3),该反应为放热反应(放热量159.36kJ/mol)。液态甲铵脱水转化为尿素的反应也是1个在液相中进行的化学反应,反应速度比较慢,因此该反应是尿素合成反应的控制步骤,该反应为吸热反应(吸热量为28.47kj/mol),其动力学方程式可用式(6)表示:

    r=k1CAM-k2CUCH2O         (4)

    在反应动力学方程式(4)k1k2分别代表甲铵脱水反应正逆反应速率系数,CAMCUCH2O分别代表甲铵、尿素、水的浓度。

    1.2 合成塔模型及基本假设

    为了降低模拟程序的计算量,将合成塔内部视为有多个平衡级反应器串联而成,具体假设如下:

    将合成塔分成若干个小室,每个小室内气液两相混合良好,作为1个平衡级反应器,每1级都当成理想混合模型或称全混流模型求解;在每块板的出口处气液两相都达到相平衡状态;将整个反应过程视为绝热反应过程处理。

    该模型虽然将合成塔内反应过程进行了简化,但是能够较为详细地描述合成塔内相邻两块塔板间的物流参数分布。将热力学模型单独进行求解,反应器的建模和求解类似于无反应发生过程,简化了伴有化学反应发生的气液相平衡过程的模拟计算。

    2 模拟软件的设计及实现

    2.1 模拟主程序的设计及实现

    尿素合成塔主程序采用逐级计算的方法,即对每级小室建立组分的物料衡算方程(4个)、总热量衡算方程(1个)、气液相平衡方程(3个)、反应动力学方程(1个)、单板压降计算方程(1个)以及归一化方程(1个)共11个非线性方程。己知进口气液相的温度、压为、流量及组成共11个变量时,可求出出口气液相的11个变量。当第n个小室计算完毕,即可得到合成塔出口尿素转化率、温度、压力、气液相出口流股流量组成等主要模拟结果。该程序利用改进牛顿法进行求解,这种解法使得程序收敛性和解算速度得到了很大地提高。

    程序模拟计算框图如图1所示。

1

    程序设计思路简单易行,但反复调用子程序的循环计算过程也会耗用大量机时,虽然随着计算机硬件水平的提高,完全可以弥补机时损耗大的缺点,但为了保证程序的高效性,将需要反复进行的计算编成了15个子程序,在主程序的执行过程中不断调用各类子程序,从而提高了软件的运行效率。各子程序名称及实现的功能如下:

    (1)hp_equix子程序。功能是计算合成塔内的反应达到气液相平衡时的液相组成。

    (2)hp_equiy子程序。计算合成塔内的反应达到气液相平衡时的气相组成及平衡压力。

    (3)hp_equik子程序。计算相平衡常数。

    (4)phs_fai子程序。计算气相各组分的逸度系数。

    (5)gamax子程序。计算液相各组分的活度系数。

    (6)hvex(ns)子程序。判断气液相流股及焓值计算。

    (7)hvex1子程序。液相流股的焓值计算。

    (8)hvex2子程序。气相流股的焓值计算。

    (9)thmrg子程序。由焓值计算流股温度。

    (10)tsmrg子程序。由熵值计算流股温度。

    (11)reaction子程序。尿素合成反应尿素生成量及反应停留时间的计算。

    (12)alfx子程序。尿素合成反应转化率的计算。

    (13)over_react子程序。全塔总转化率、总反应停留时间计算。

    (14)react_vle子程序。反应体系的气液平衡计算。

    (15)actx子程序。液相流股中反应后各组分的含量计算。

    2.2 软件界面的设计及实现

    为了使软件可以在常用的Windows系统下使用,笔者选用VB来编制软件界面,利用VF来编制尿素合成塔主程序。因结合了2种语言的特点,使得最终的模拟软件既具有良好的模拟准确性,又具有优秀的人机交互界面。

    通常在VB中调用VF主程序,需要将VF程序编译成动态链接库(DLL文件)在VB中调用的方式。这种实现方法对一般的VF程序有效,但是对于该文述及的尿素合成塔模拟程序,因计算过程中需调用的函数很多,还包括了多流股数据的输入和输出,同时在接口连接时需要根据不同子程序生成相应的DLL文件,在接口连接时易出错,而且与操作系统的兼容性不高。因而该文是将VF主程序编译成为.exe格式的应用程序,利用VB中的Shell函数启动VF应用程序,在整个运行过程中,VF主程序都在后台运行。但这种调用方式中往往会存在程序的异步执行问题,即当VB中调用VF程序时会出现VB不等待VF程序结束而继续往下执行的问题。为了解决Shell函数异步执行问题,笔者利用了Win32API提供的一些有关进程的操作函数解决了上述外壳程序的异步运行问题。

    首先用Open Process函数建立外壳进程句柄,然后通过WaitForSingleObject函数等待外壳进程终止,外壳进程终止后用CloseHandle函数关闭打开的进程对象。这种方法极其简单,使得程序移植性更好。具体的API函数如下:

    Private Declare Function WaitForSingleObject Lib¨kerne132¨(ByVal hHandle As Long,

    ByVal dwMilliseconds As Long) As Long

    Private Declare Function Close Handle Lib"kerne132¨(ByVal hObject As Long) As Long

    Private Declare Function OpenProcess Lib"kerne132¨(ByVal dwDesiredAccess As Long,

    ByVal bInheritHandle As Long,ByVal dwPro-cessId As Long) As Long

    Private Const INFINITE=-1&

    Private Const SYNCHRONIZE=&Hl00000

    调用外壳程序执行以及等待其终止的VB代码如下:

    Dim iTask As Long,ret As Long,pHandleAs Long

    iTask=Shell¨d:\尿素合成\Reactexe¨vb-NormalFocus

    pHandle=OpenProcess(SYNCHRONIZE,False,iTask)

    ret=WaitForSingleObject(pHandle,INFINITE)

    ret=CloseHandle(pHandle)

    EndSub

    此外,该软件还具有直接将计算结果实现绘图的要功能,通过调用保存在结果文件里的相关数据.可绘制尿素合成塔内温度沿塔高变化的-曲线以及各关键组分组成沿平衡级变化的曲线,使得模拟结果更加简洁直观。

    3 模拟软件效果分析

    为了检验该软件的可靠性和模拟精度,笔者以《化肥工业丛书:尿素》一书中的工业生产数据为基础进行有关的计算,计算的结果与设计值对比如表1和表2所示。

3

    从表1和表2可见,模拟软件对水溶液全循环法尿素合成塔的主要设计参数计算结果与设计值符合良好,误差值在合理范围内。为了模拟尿素合成塔改造的工况,笔者着重考虑了原料流股人塔混合程度和尿素合成塔内塔板效率2种因素对合成塔转化率的影响。

    理论上,进入尿素合成塔的3股物料混合程度越好,塔内环境越接近混合均匀的拟均相,尿素合成塔的转化率就越高。经过北京航天动力研究所刘孝弟研究员的试验和研究发现,加装入口高效混合器(高压液气管式快速混合反应器)的尿素合成塔CO2转化率理论上可提高3%-%,该数据还通过了实际工业生产装置的实验验证。此外,当合成塔内塔板(塔内件)具有较高效率时,会使3股物流在塔内混合程度变好,从而可提高CO2转化率。利用该软件模拟了这种操作工况的影响。模拟结果如表3所示。

4

    从表3可见,模拟结果与理论分析的趋势双试验结果相吻合,说明该软件可以为尿素合成系统工艺流程和设备的改造提供参考数据。

    4 结论和展望

    该文以水溶液全循环法尿素合成工艺中的尿素合成塔为研究对象,对其进行了模拟计算。利用了VF语言编制了主计算程序,利用VB语言编制了界面程序,可以在windows下安装使用。通过对计算结果的分析可见,利用该文所采用的热力学、动力学及合成塔模型编写的VF主计算程序能够较为准确地模拟出水溶液全循环法尿素合成塔工况。对塔压、温度,转化率等主要参数的计算误差较小,在合理范围内。VB界面程序不但实现了与主程序的参数传递和调用,而且具有友好的人机交互界面和良好的绘图功能。软件整体能够满足水溶液全循环法尿素合成塔模拟计算的基本功能。今后,可以在采集更多相关试验数据和现场数据的基础上完善尿素合成系统模拟数学模型的相关参数,进而编制完整的尿素合成高压工艺圈及尿素合成全流程模拟软件。

最新评论

暂无评论。

登录后可以发表评论


意见反馈
返回顶部