共沸、饱和蒸汽压等性质的计算,需要 *.coskf 文件以及蒸汽压方程中的 'Antoine'或'VPM1' 参数,这两种参数只能通过查阅相关数据库得到,如果实在没有,可以在 COSMO-RS 模块的图形窗口中,使用 QSPR 应用定量构效关系经验性地猜测:
SCM → COSMO-RS → Compounds → Add Compounds,添加生成的 *.coskf 文件。然后如下图所示,选中该化合物,右侧点击 Estimate 按钮即可:
在脚本中体现为(这部分的使用见下文):
Ethanol={ 'name':'Ethanol', 'coskf':'Ethanol.coskf', 'vp_eq':'VPM1', 'vp_para':[-7817.57624223014, -10.64422136014045, 0.005430869892407646, 82.94275538593995, 0.0], 'vp_T_range':[np.nan,np.nan], 'vp_ref':'QSPR' }
*.coskf 的生成,参考教程:如何准备*.coskf文件、生成表面电荷分布图。
脚本点击下载,解压后得到一个脚本与一个文件夹(注意文件的完整路径中不可含中文、空格),文件夹中存放的是生成的 *.coskf 文件。AMSJobs 窗口进入该文件夹,然后菜单栏 Help → Command-Line 打开命令行,输入 sh 回车,然后输入
amspython example_azeotrope.py
注意脚本中#以后的内容表示注释,不执行、没有格式要求。Python脚本的编辑,可以参考:Python脚本的编辑
在 Python 脚本中,溶剂、溶质(含 'Antoine'或'VPM1' 参数)的定义是依靠以下方式定义的,这里定义了三种分子,其中一种是溶质,两种是溶剂,用户需要筛选的溶剂分子,类似以类似格式增加即可(在这里并未区分谁是溶质,谁是溶剂):
Ethanol={ 'name':'Ethanol', 'coskf':'Ethanol.coskf', 'vp_eq':'Antoine', #Antoine or VPM1 'vp_para':[5.0649993,1506.8189825,-53.6512210], 'vp_T_range':[270.31,513.92], 'vp_ref':'SCM' } Water={ 'name':'Water', 'coskf':'Water.coskf', 'vp_eq':'Antoine', 'vp_para':[4.6543,1435.264,-64.848], 'vp_T_range':[255.9,373], 'vp_ref':'NIST' } Butanol={ 'name':'1-Butanol', 'coskf':'1-Butanol.coskf', 'vp_eq':'Antoine', 'vp_para':[4.54607,1351.555,-93.34], 'vp_T_range':[295.8,391], 'vp_ref':'NIST' }
其中vp_T_range指的是Antonie方程的温度范围,当需要外推法时,结果应谨慎使用。
指定溶质、溶剂,是依靠下面两行:
solute_list=[Ethanol] solvent_list=[Water,Butanol]
这里引用了上面列出的变量名字,并允许输入多个溶剂,用逗号隔开即可。
下面一行指定压强,目前是 1 个大气压:
cal_info['pressure'] =[1] #specify in [P1] or [P1, P2, npstep]
该脚本中,使用这一行定义方法:
method='COSMORS'
可以替换的方法包括:
用户正式应用前,建议选择一些验证溶剂,找出对该系列化合物可靠度最高的方法,用于后续真实筛选过程。