Pitzer活度系数模型研究与开发作者:韩莎莎郑俊强孙晓岩项曙光来源:《当代化工》2020年第01期Research and Development of Pitzer Activity Coefficient ModelHAN;Sha-sha,ZHENG;Jun-qiang,SUN;Xiao-yan,XIANG;Shu-guang(Process Systems Engineering Institute, Qingdao University of Science and Technology,Shandong Qingdao 266042, China)自然界、生命体和工业过程中普遍存在着电解质溶液,是化工行业中的重要组成部分,也是众多过程处理的对象,目前逐渐成为许多有机物和無机物反应的良好媒介,因此对电解质溶液的理论研究、电解质溶液的热力学性质的研究及电解质过程模拟研究具有重要的工业实用价值和理论意义。
其中在电解质溶液理论及含电解质溶液体系的热力学性质方面,Debye[1]、Meissner[2]、Bromley[3]、Chen[4]、陆小华[5]、左有祥[6,7]、Loehe[8]、李以圭[9]和杜艳萍[10]等都做出了很大的贡献。
目前Pitzer是用于计算水电解质溶液体系(尤其是离子强度为6摩尔以下的强电解质体系)的活度系数等热力学性质较为准确的电解质活度系数模型,也是应用最为广泛的电解质溶液理论。
最初1973年,Pitzer修正了D-H理论[1],得到了经典的半经验Pitzer模型[11],但适用的浓度较低。
随后为了扩大浓度适用范围,用Margules方程修正了短程项,得到了Pitzer[12](1980年)模型。
之后,Bromley[3](1973年)简化的Pitzer模型、Pitzer[13](1975年)添加的静电非对称混合项、Fürst和Renon[14](1982年)研究的多种参数对模型用于1-1型电解质固液平衡的影响、李以圭[15,16](1986年)的Pitzer-Li方程、Simonson等[17](1986年)的Pitzer-Simonson方程、Kim等[18,19](1988年)回归的高浓度体系参数、Clegg等[20,21](1992年)的Clegg-Pitzer模型、李以圭等[22,23](1994和1997年)的Li-Mather模型、Pitzer[24](1999年)以及Chen等[25](2008年)都对Pitzer模型做了相应的修正和完善。
因此,参照Fortran语言编程如Zemaitis[26]中实现含电解质体系的模拟计算过程,也可通过Visual C++编程语言开发Pitzer模型,实现被已有的支持CAPE-OPEN标准的大型通用化工模拟软件所调用,从而对工业中含电解质溶液过程进行设计、模拟、计算和优化,更好地解决较复杂的工程问题。
本文主要是根据Pitzer修正的水电解质溶液体系活度系数计算模型[13](1975年模型)进行开发并通过对一些应用实例的模拟计算并验证结果对该开发的Pitzer活度系数模型进行分析、讨论和评价。
1 ;Pitzer活度系数模型下文将对Pitzer活度系数模型作详细阐述。
Pitzer活度系数模型以水电解质活度系数模型为基础,区别于其他物性方法的是它与其他活度系数模型无重叠。
它能够准确地计算高达6 mol离子强度以上的电解质水溶液的行为,但不能用于存在除水之外的任何其他溶剂或混合溶剂的体系,任何非水的分子组分都应被认为是溶质,分子溶质存在与否也都可满足,并全被看作亨利组分。
超临界气体的溶解度是采用亨利定律来模拟计算的;汽相逸度系数采用Redlich-Kwong-Soave状态方程,并且所有其他汽相性质也都假定是理想的,但遇到气相中存在缔合行为时,例如羧酸类(RCOOH)或氢氟酸(HF)体系,Redlich-Kwong-Soave则不适用。
对于羧酸类,选择一个非电解质活度系数模型与Hayden-O‘Connell或Nothnagel方法相结合;对于HF体系则选择专用的ENRTL-HF或WILS-HF 物性方法。
本文选取的Pitzer活度系数模型即水电解质活度系数模型计算的系统总过剩吉布斯能的基本方程见公式(1)。
式中:G E;—剩余吉布斯自由能;B、C、θ、ψ—模型中交互参数;;;;;;;R —气体常数;;;;;;;m —质量摩尔浓度,mol/kg;;;;;;;Z —电荷数。
其中长程静电相互作用项为:即可推出活度系数模型:其中: ;n;—摩尔数;*;—非对称。
2 ;模型求解步驟在进料物流的温度T,压力P和质量摩尔浓度m i或组成z i已知条件下,其各个种类(包括所有分子和离子组分)的活度系数的详细求解步骤如下:Pitzer活度系数模型用于计算电解质体系所需要用到的参数主要包括:阳离子-阴离子间的参数β(0)、β(1)、β(2)、β(3)和C;φ;阳离子-阳离子间的参数θcc';阴离子-阴离子间的参数θaa';阳离子1-阳离子2-共同的阴离子三个离子间的参数ψcc'a;阴离子1-阴离子2-共同的阳离子三个离子间的参数ψcaa'以及分子-分子间、分子-离子间的参数β(0)、β(1)和C;φ;还有静电非对称混合效应项Фij。
以上所有参数都可参考Pitzer相关系列文献[26-30],从而建立一个小型数据库,供开发的模型模拟计算使用。
(1)计算阳-阴离子间的交互参数B ij和C ij因对于不同价型的电解质类型,B ij的计算公式也不相同,其中类似于1-n型(1-1,1-2和2-1等)电解质,B ij和C ij都是针对带不同电荷的离子即阴阳离子间的,其计算公式如下:针对n-m型的电解质并且n大于1、m也大于1(如2-2,2-3和3-4型等),B ij的计算公式如下:其中α1取值2.0;α2取值12.0;α3取值1.4。
相对应的求导得到B ij'(对于1-n型电解质):求导得到B ij'(对于2-2型电解质):(2)计算带同种电荷的离子间交互参数θijλ为短程离子间效应描述为离子强度函数。
(3)计算三元交互作用参数ψijkΛ是忽略任何离子强度依赖的三离子交互项。
其中(2)和(3)计算的参数是多电解质组分溶液中可能存在的双离子和三离子间的相互作用。
对于单一的电解质溶液,它们的值都为零。
(4)计算静电非对称混合效应项Фij求导得:对于参数X的计算,根据体系类型不同,其计算方法也不同,当不存在非对称的混合校正项时:当静电非对称混合修正项用多项式表达时为:当静电非对称混合修正项用积分形式表达时为:长程作用项:其中Debye-Hückel参数Aφ、离子强度I x为:水的密度為:以上式子中:k —玻尔兹曼常数;N A—阿伏伽德罗常数;Q e—电子电荷;Ɛ;—介电常数;M;—相对分子质量,kg/kmol。
对f(I)进行求导得:以上各类参数将其代入(3)式就可计算出体系中各个种类的活度系数。
离子种类的活度系数模型:对于水,类似地计算活度系数的对数如下:由于计算出的是以质量摩尔浓度m i为单位标度的活度系数值,可由下列公式将其转化为以摩尔分数x i为单位标度:离子类:水分子:在上一节中求出lnγi之后,即可求:由于计算H m*E需要对活度系数表达式求导,为了避免复杂的求导过程,可以采用以下方式计算:很明显看出,这里采用的是对G m*E进行差分法求导计算:其中T2-T1可以取一个很小的值0.001。
H m*E和G m*E计算完成之后,再按照常规体系的总焓和总吉布斯自由能计算模型得出总焓值和总吉布斯自由能值,既而得到总熵值。
3 ;模型开发通过Visual studio 2005平台采用C++语言进行编程实现,具体开发过程如下。
(1)定義变量//定义组分列表vector<int>compIdList;vector<BOOL>henryList;//定义组分组成vector<double>xm;//定义参数数组集vector<vector<double>>B0ij,B1ij,B2ij, B3ij,Cij,θij,ψijk;(2)函数类型//创建计算活动系数所需的相互作用参数数组。
voidInitialParameters();//计算长程静电相互作用项CalcLongRange(double T,vector<double>&x,vector<double>& LR);//计算短程位能项CalcShortRange(double T,vector<double>&x,vector<double>& SR);//计算三离子交互项CalcThreeIonInteraction (double T,vector<double>&x,vector<double>& TII); //计算各个种类的活度系数GetActivityCoefficient(double T,vector<double>&x,vector<double>& ac);GetActivityCoefficient(CVariant&compIdList, CVariant& composition, double P, double T, VARIANT* value);//计算Hm*EGetExtraEnthalpyDepature(CVariant&compIdList, CVariant& composition, double P,double T, double * extraEnthalpy);(3)对亨利组分的处理//初始化一个数组,对应于所有的组分,如果组分为亨利组分,则对应的位置为,否则为0henryList=vector<BOOL>(count,0);for(inti=0;i<henryComs.GetCount();i++) for(int j=0;j<count;j++)if(henryComps.GetLongAt(i)==compIdList[j]){henryList[j]=1; break;}//以上是亨利组分的识别,识别出的亨利组分和可凝组分的交互作用参数都设为0。
(4)计算纯水的性质CComPtr<IUtilitiesManager>utilitiesManager;//公用工程的接口,计算纯水摩尔体积和焓值utilitiesManager->GetMoleWaterVolumeByTP(T,P,&moleWaterVolume);HRESULT hr=utilitiesManager->GetMoleEnthalpyByTP(T,P,value);4 ;模型验证与对比以实际工业生产中的含电解质流程实例对开发的Pitzer模型进行模拟验证,体系中涉及的汽相的性质采用RK-Soave状态方程计算,液相的热力学性质则采用本文开发的Pitzer模型进行模拟。