溶解度系数的计算

J-OCTA的溶解度模块可根据超额化学势值计算溶解度系数。

目的和方法

溶解度系数是评估聚合物渗透率的一个重要因素。J-OCTA的溶解度模块可以计算出超额化学势 μex和分子溶解在聚合物中时的溶解度系数S。在计算超额化学势时,该模块中的采样效率使用排除体积图采样(EVMS)法[1]。

s: 无量纲溶解度 即亨利常数

kB: 玻尔兹曼常数

T: 聚合物体系的温度

T0: 标准条件温度

p0: 标准条件下的压力

在本案例中,我们计算了三种聚合物(图1)中的气体分子(N2, O2, CO2和CH4)和水的溶解度系数。聚合物有50个单体单元,使用GAFF作为力场。气体分子采用Dreiding力场,水分子采用SPC-FW模型。用NPT系综对聚合物进行了3ns的MD模拟弛豫,并计算溶解度系数。

图1 用于计算的聚合物

模拟结果

我们计算了聚合物中气体分子和水的溶解度系数,结果如图2所示。在聚合物中,PS的溶解度较高。在气体分子中,非极性N2和O2分子的溶解度较低,CO2分子溶解度较高,模拟结果与实验结果基本吻合。

图2 溶解度系数计算值与实验值的比较

PE、PS、PB和水的实验值分别取自文献[2-5]。

参考文献

[1] G. L. Deitrick,L.E.Scriven, and H.T.Davis, J. Chem. Phys., 90,2370 (1989)

[2] A. S. Michaels and H. J. Bixler, J. Polym. Sci., vol. 50, no. 154, pp. 393–412, 1961.

[3] W. R. Vieth, P. M. Tam, and A. S. Michaels, J. Colloid Interface Sci., vol. 22, no. 4, pp. 360–370, 1966.

[4] 聚合物手册

[5] R. Sander, Atmos. Chem. Phys., vol. 15, no. 8, pp. 4399–4981, 2015.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NRTL模型可以用于描述混合物中各组分的活度系数,进而可以用于预测溶解度等热力学性质。下面是一个简单的NRTL模型拟合溶解度的例子。 假设我们要研究异丙醇在水中的溶解度,我们可以用NRTL模型拟合异丙醇和水的活度系数,进而计算异丙醇在水中的溶解度。NRTL模型的形式为: ln(γ1) = Σ2-3[ln(1+k21*X2/X1+ k31*X3/X1)] + X2*[G21/X2-k21/X1*(X3/(X1+k31*X3))] + X3*[G31/X3-k31/X1*(X2/(X1+k21*X2))] ln(γ2) = Σ1,3[ln(1+k12*X1/X2+ k32*X3/X2)] + X1*[G12/X1-k12/X2*(X3/(X2+k32*X3))] + X3*[G32/X3-k32/X2*(X1/(X2+k12*X1))] 其中,X1和X2分别是水和异丙醇的摩尔分数,Gij是结合能参数,kij是经验参数。 首先,我们需要准备实验数据,包括异丙醇在不同温度下的溶解度和水和异丙醇的摩尔分数等信息。然后,我们可以使用Matlab中的拟合函数,如fit、lsqcurvefit等,来拟合NRTL模型。 下面是一个简单的Matlab代码,假设我们已经将实验数据存储在一个名为data的结构体中,包括T和X1等变量。可以使用如下代码进行拟合: ``` % 初始化参数 G = [0.0 -0.2; -0.2 0.0]; k = [0.1 0.2; 0.2 0.1]; x0 = [G(:); k(:)]; % 定义拟合函数 fun = @(x,xdata) nrtl(x(1:4),reshape(x(5:end),[2,2]),xdata(:,2:3)); % 拟合数据 x = lsqcurvefit(fun,x0,[data.T data.X1 data.X2],log(data.sol)); % 输出拟合结果 disp(reshape(x(1:4),[2,2])); % 输出结合能参数 disp(reshape(x(5:end),[2,2])); % 输出kij参数 ``` 最后,可以使用拟合后的NRTL模型来预测异丙醇在水中的溶解度。假设我们要预测异丙醇在给定温度下的溶解度,可以使用如下代码: ``` % 给定温度 T = 298; % K % 计算相应的X1和X2 X1 = 0.9; X2 = 0.1; % 计算相应的活度系数 gamma1 = exp(nrtl(x(1:4),reshape(x(5:end),[2,2]),[T X1 X2])); gamma2 = exp(nrtl(x(1:4),reshape(x(5:end),[2,2]),[T X2 X1])); % 计算溶解度 sol = X2*gamma2/(X1*gamma1+X2*gamma2); % 输出结果 disp(sol); ``` 这样就可以使用NRTL模型拟合溶解度,并预测异丙醇在水中的溶解度了。需要注意的是,NRTL模型的拟合需要根据具体的实验数据,选择合适的参数个数和初始值,并进行适当的调整,以获得较好的拟合效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值