通过 Python 脚本,遍历不同阴阳离子组合(自动考虑其电荷与比例)形成的溶剂中,计算用户指定的气态溶质在其中的活度系数(使用无限稀释模型)以及亨利常数、溶解度。
AMSJobs → Help → Command-line 打开命令行,输入 sh 回车进入命令行环境,筛选作业在该环境中完成,将生成 Excel 结果文件以及图,便于用户进行数据处理。
另外,需要安装 pandas 包。安装方法:在命令行中输入
amspython -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas
回车,大约几十秒即可安装成功。
如果 HDB、HDA、溶质数量特别巨大,需要并行化处理,则还需要安装 multiprocessing 包,安装方法:在命令行输入
amspython -m pip install multiprocessing
回车。这个包似乎没有找到国内的镜像,因此可能连接国外服务器太慢,导致安装失败。
在 AMS 环境变量生效的情况下,直接进入命令行即可,当然也需要类似安装 pandas、multiprocessing 包。
这要求清楚分子的三维结构,三维结构的确认,参考教程“寻找分子真实构型/多个异构体共存的分子的谱学性质的玻尔兹曼平均、生成*.coskf文件”的前两步。
*.coskf 文件的制作参考教程:
AMS 提供一个离子液体库,包含 80 个阳离子和 56 个阴离子,下载链接:http://downloads.scm.com/Downloads/crs/ADFCRS-2018.zip
文件下载:(点击),注意解压到一个不含中文、空格、括号的路径中。压缩包包含:
真正计算的时候,只计算提供了 *.coskf 文件的阴阳离子。脚本将会一次性遍历所有阴阳离子组合。
注意修改 Python 脚本需要专门的编辑器,如果用户没有编辑器,可以在关闭输入法的前提下,用写字板手动敲入字符修改(不要从其他地方粘贴进来,这会导致格式问题),或参考Python脚本的专业编辑器。推荐后者。
cal_type = 'activitycoef' method = 'COSMORS' solute = 'Carbon_dioxide.coskf' temp = 25 + 273.15 cal_Henry = True #If True -> calculation of Henry's constant using IDAC*Pvap plt_option= True #If True -> visualization of the results with a contour plot MPI_option= False #If True -> conduct the calculation with multiprocessing ncore=8 #numbers of processes used for multiprocessing
Pvap = np.power(10, 6.35537 - 2067.0/(temp+156.462) )
在如上命令行环境中,进入脚本所在文件夹(如果 AMSJobs 进入该文件夹,则 Help → Command-line输入 sh 回车即处于该文件夹下),输入命令:
amspython example10_IL_screening_MPI.py
回车即开始运行。
一般很快运行完毕(案例中的文件数量耗时几十秒),结果在文件夹中,包含一个 Excel 文件,详细列出不同阴阳离子组合下,溶质的活度系数、亨利常数、1 bar 下的溶解度(采用公式 x = 1bar/H 计算得到),以及简单的一个图示,更方便地比对亨利常数。
如果输出出现了“The vapor pressure of the solute is not defined”这个提示,就表示编辑Python脚本的时候,修改Pvap这一行格式出错了。使得这一行失效了,不要复制粘贴,用写字板打开之后,删除之前的数值,然后手敲新的数值。或者如上文所说,在专业的Python脚本里面去编辑。