免责声明:

本文中的内容很多都很有争议,所以全文仅代表作者乙醇个人观点及经验,不喜勿喷,也欢迎大佬的批评指正

什么是循环?为什么要循环?

在aspen流程模拟中,经常会碰到需要物料循环的情况,那么什么是循环,我们为什么要用循环呢?

循环顾名思义,就是将一部分物料,不管是未反应的原料也好,需要回收的萃取剂也好,热泵精馏的再沸蒸汽也好,循环回上一级的模块进行重新利用,在上一级的模块进行计算之后,随着有新物料的补充,循环的物料基本上属于守恒状态,让在循环内的模块达到一个稳态平衡,从而达到我们的目标。

至于为什么要使用循环,用丙烯气相水合制备异丙醇来说,单程转化率只有非常低的5-6%,如果不把未反应的原料循环回去再利用,那么原料的浪费将是非常非常大的,而且对后续的分离精制也会造成困扰,这就是循环的目的之一:寻求最优的转化率。在萃取精馏中,往往萃取剂的用量是非常大的,如果不对萃取剂进行回收循环利用,那哪个厂子能顶得住这么烧钱

前言

这篇文档我会分享自己在竞赛中打循环的经验和一些小技巧,当然我本人比较菜,很多东西也都是一知半解,甚至采取一些投机取巧的办法,可能并不是那么正确,所以本文只是做一个记录和分享,如果不符合您的观点和认知,出门左转就行,当然也欢迎您在评论区指出我的错误,但是请文明讨论

为了不被喷,我是真的心累

未反应的物料循环

本部分以丙烯气相水合制备异丙醇工艺为例

首先是工艺流程搭建,这就不多说了,从界外原料到反应器产物流股:

丙烯进料300kmol/h,丙烯体积分数99.6%,水进料195kmol/h,水丙烯摩尔比为0.65,反应温度200℃,压力20bar≈2MPa

可以看到,以丙烯表示的转化率为:(298.886-282.917)/298.886=5.34%

这个时候就必须要把丙烯循环回去,不然超大量的丙烯就会被浪费掉,转化率也太不经济了

那么,要把丙烯循环回去,首先就要把丙烯分离出来,而且要达到要求的纯度,比如丙烯气相直接水合的反应丙烯进料纯度要求在99.5%体积分数以上

所以首先肯定是要做丙烯分离,这里就不多赘述了,但是这个分离并不是把丙烯分离出去,达到纯度就完事了,最最重要的是分离序列一定一定要稳定,那么什么是稳定的分离呢?

这里就要说到两个意思,什么是临界参数什么是稳定参数

临界参数就是如果你使用灵敏度分析,把这个塔或者闪蒸罐的参数调的非常优,分离效果非常好,稍微再好一点点这个模块就会报错,这种时候,你的分离设备的参数就处于临界参数状态,如果这个时候把你的这个分离设备带入循环之内,基本上大概率是要出大问题,你就会发现无论你怎么调循环,这个循环就是会报错、不收敛等,这就是因为你的分离设备处于临界状态,每一次循环计算的时候,都不可能是完全准确无误的,都是会有误差的,特别是当你的循环物流具有杂质的时候,每次循环计算的误差都会导致你这个分离设备的分离效果偏离,根本达不到你的分离效果,分离效果达不到,循环回去的物流就越容易出现误差,这就成了一个恶行循环了,所以才会导致循环根本就不收敛,疯狂报错

什么是稳定参数呢,就是当你这个分离设备确定好分离效果之后,他的某些参数还具有余量,可以上下调整,这个时候当你去改变进料条件,它的分离效果并不会收到多大影响,它自己就会把这个幅度不大的扰动归到容差里,就很容易收敛

分离做好之后就开始做循环吧:

17就是循环流股,其中丙烯质量分数98.88%,温度27℃,压力1bar

需要注意的是,循环之后的总转化率和你循环丙烯的纯度并没有直接关系,反而和你循环量的多少有关系,如图所示:

16流股就是循环外流股,也就是去往下一工段的,其中含有36.19kmol/h的丙烯,而进料量有300kmol/h,所以这个损失是相当大的,最后总转化率可能比较低,所以如果想要提高总转化率,就得在未反应物的分离上下功夫,我这里只做循环的演示,所以这个小细节先忽略

17循环流股要接到压缩机上,这个时候就需要我们的计算器模块了

计算器模块

这两个都是计算器模块,创建一个计算器进入设置参数

在设置变量之前,我们要明白循环需要计算什么,什么守恒,哪个是自变量,哪个是因变量

首先一定要明白的是,丙烯和水的进料一定是按照水烯比来进料的,水的进料是固定的,那么丙烯的进料也就是固定的

丙烯的进料都固定了,在本例中,也就是298.886kmol/h是固定的,当这个进料量固定的时候,反应器的转化率也就是固定的,那么反应器出来的产物中未反应的丙烯就是固定的,那么分离之后的需要循环的丙烯也就是稳定的,这就是稳态,如果分离设备的参数是出于稳定参数状态的话,那么我们是不是只需要把循环回去的丙烯接入到压缩机上,然后用298.886减去循环丙烯的量,这个差值就是需要补充的新鲜气,把新鲜气的值赋给01进料,那么这个循环肯定就已经没问题了,因为其他的参数都已经固定了

但是实际上我们在计算的过程中并没有这么顺利,很多数据都不可能是绝对的,都是微微变动的,这个时候总不能我们每一次都自己去算一下差值,然后手动输入吧,所以就需要计算器模块帮我们计算,并自动输出计算结果

那么什么是导入变量,什么是导出变量呢?顾名思义导入变量就是要输入进计算器进行计算的自变量,导出变量就是计算结果输出的变量,那么在本例中,循环丙烯的量就是导入变量,新鲜气的量就是计算之后要输出的量

进行变量设置:

计算式输入:

意思就是:新鲜气的摩尔流量=298.886-循环气的摩尔流量

计算序列就是变量的计算、读取、输入的顺序,默认即可

计算器模块就设置完毕了,那么就可以把17流股接入到压缩机上进行计算了:

C-1就是计算器模块,重置之后,运行模拟

结果可以查询,但是控制面板有错误和警告

反应器的报错是焓值的误差,还有两个模块的警告是进料为0,这都不是严重的错误,不然就不会结果可查询了,只需要将报错的相关模块前的流股右键,调和即可

调和之后重置运行,无报错无警告

那么看一下计算器的结果吧:

可以看到01流股的值被改写成了51.78,也就是新鲜的补充气需要这么多

再来看看总转化率吧:

01就是新鲜气进料流股,16就是循环外流股,进入下一工段的流股

总转化率:(51.78-36.23)/51.78=30.08%,太低了,主要是因为丙烯分离的那里没做好,导致流失的丙烯太多了,这个先不说,主要看循环的效果

进反应器前的流股,可以看到循环成功,物料并没有累加,丙烯和水的比值也正确,总进料量守恒

至于总转化率问题,这是我竞赛的时候做的流程:

总转化率:(128.396-1.5889)/128.396=98.76%,相比之前的单程转化率只有5.34%好的太多了

但是实质上反应器的转化率改变了吗?并没有,如果你不看循环,只看反应器前后的原料变化来说,它的转化率还是只有5.3%,循环只是通过未反应的原料循环回去,让新鲜进料量减少,从而达到相对于新鲜进料量而言的总转化率,而循环气的作用只是为了在反应器中保持反应物远远过量的作用

原料带有杂质的循环

对于丙烯水合异丙醇的工艺,丙烯的纯度肯定不可能百分百,所以肯定带有一定的杂质,就是丙烷,或者其他的,那么当杂质量不少时,即使使用计算器模块,也会发生循环不收敛的情况,那么这个时候怎么办呢,其实我也不会,但是在实际工业中,循环中杂质积累的办法估计是停车排出吧,当然最好的办法肯定是在循环的时候能把杂质一并分离最好了

那么在模拟中怎么解决因为杂质而导致的循环不收敛问题呢?我这里有个投机取巧的办法,让杂质进料守恒,什么意思呢,和上面的丙烯进料298.88守恒一样,在初始进料的时候,杂质肯定有一个总量,那么用计算器模块就规定好它的杂质进料量,不让它在循环中积累,设置方法和丙烯循环一模一样,就不赘述了,说一下效果:

让丙烷的进料量始终稳定在初始进料的9.6kmol/h上即可

这样就解决了杂质积累的情况

理论上来说,只要模块的参数都在稳定参数状态下,使用计算器模块完全可以解决所有的循环问题,而且还不会产生物料累加的情况

但是有些地方使用计算器会很麻烦,比如热泵精馏中的再沸蒸汽循环、回流循环等,这些使用计算器的话,组分复杂就不说,一旦塔的参数调整,或者进料改变,就得去修正计算器的参数,很麻烦,这个时候就可以用到赋初值的办法了

赋初值

简单来说,赋初值就是计算器的手动模式,在没有连接循环的时候先得出循环物料的量,然后把这个量赋值给循环流股,用热泵做个例子吧:

0309就是塔底的流股,0312就是回流的再沸蒸汽,构成了一个小循环,在再沸器没有被拆出来之前,也就是它的最后一块板的流量

那么在没有拆这个塔之前,我们就已经有了再沸蒸汽的流量,也就是0312的流量,组成等,这个也可以在塔结果的分布组成中看到:

那么就可以直接把这个数据赋值给0312流股,让但是这个时候并没有接循环,如图所示:

把塔盘的结果手动输入到这个流股中,这就是赋初值

总结

打循环最主要的方法还是使用计算器模块,在使用计算器模块的基础上,加上赋初值,会更加稳定

但是很多同学用了计算器,也试过赋初值,还会有警告或者报错,那么就要适当的使用调和工具,一般来说这三件套走下来,一个循环肯定是没问题的

还是不行的话,大概率是模块参数的问题,建议调整调整参数,检查流程

我是乙醇,下次见~~