例如:
HBA_path=os.getcwd()+'/coskf-DES/HBA/' HBD_path=os.getcwd()+'/coskf-DES/HBD/' solute_path=os.getcwd()+'/coskf-DES/'
可以写成绝对路径,例如:
HBA_path='D:/ADF_DATA/example5_eutecticssolventscombinationcreening/coskf-DES/HBA/' HBD_path='D:/ADF_DATA/example5_eutecticssolventscombinationcreening/coskf-DES/HBD/' solute_path='D:/ADF_DATA/example5_eutecticssolventscombinationcreening/coskf-DES/'
但是请注意:
下载链接:hex_conf.zip
用途:指定一种溶质,多种配体(含多种异构体),计算不同组合的过剩焓,并作出条形图。
database_path = os.getcwd()+'/coskf-Hex-conf/'
这里是是指定溶质、配体的coskf文件位置,位于当前运行脚本的目录下的coskf-Hex-conf文件夹内。
sys_temp = 298.15 # K
指定计算过剩焓的温度,因为我们并不知道共晶形成温度是多少,所以这个值无需修改。
solute_list=[ ["CBZ_1.coskf","CBZ_2.coskf"], #carbamazepine ["itz_c1.coskf"] #itraconazole ]
允许我们指定多种溶质,每一行为一种。允许为每种溶质设定异构体,例如上例第一种溶质有2种异构体,第二种溶质没有异构体。
solv_list=[ ["tartaric_acid_c1.coskf","tartaric_acid_c2.coskf","tartaric_acid_c3.coskf"], ["PABA_1.coskf"] #p-Aminobenzoic acid ]
指定溶剂,方式类似溶质。
solute_ratio =[1,1,1,2,3] solvent_ratio=[3,2,1,1,1]
遍历溶质溶剂配比:1:3、1:2、2:1、3:1
settings.input.method = 'COSMORS'
指定计算方法为COSMORS,其他方法详见:补充材料2:Python脚本中修改计算方法,该性质推荐COSMORS。
下载链接:example4_eutecticpoints.rar
用途:两种已经知道能够形成低温共熔的组分,计算他们的共熔点。
method='COSMOSACDHB'
指定方法为COSMOSACDHB,该性质推荐COSMOSACDHB。
xexp=[0.86, 0.42, 0.40, 0.48, 0.44] #x_HBA experimental value texp=[-124.3, 16, 31, 12, 48] #C experimental value texp=[x+273.15 for x in texp] #K experimental value list_HBA_tm=[158.5,597,597,597,597] #K list_HBD_tm=[273.15,406.5,373.8,407.5,354.1] #K list_HBA_hfus=[5.02,4.3,4.3,4.3,4.3] #KJ/mol list_HBD_hfus=[5.98,14.79,15.75,23.1,15.50] #KJ/mol
对给定溶剂,遍历HBA与HBD的组合,看那种组合溶解度最高(输出图中负值越负,溶解度更高)
HBA_path=os.getcwd()+'/coskf-DES/HBA/' HBD_path=os.getcwd()+'/coskf-DES/HBD/' solute_path=os.getcwd()+'/coskf-DES/'
指定coskf的路径,包括HBA的路径、HBD的路径、溶质路径
method='COSMOSACDHB' HBAs=['N2222-Cl.coskf','N2222_Br.coskf','Sucrose.coskf','Glycerol.coskf'] HBDs=['Malonic_acid.coskf','Propanoic_acid.coskf','Benzoic_acid.coskf','5PVA.coskf','Ethylene_glycol.coskf','1,2-Propanediol.coskf','Xylitol.coskf','Urea.coskf']
指定方法(推荐为)为COSMOSACDHB,然后分别指定HBA、HBD,后面会遍历两两组合。
temp=35+273.15
指定温度。
x=[0.5,0.5,0.0]
这里指定HBA、HBD的摩尔比,第三项为溶质摩尔比,0代表使用的是无限稀释模型。
该脚本输出的是一个图,形象地显示定性结果。如果用户希望打印具体数据,可以增加一行:
print(HBDs[i],HBAs[j],data[i][j])
在脚本中体现为(在下面脚本的第五行处,注意对齐方式,不要减少空格):
前面省略 data=np.zeros((len(HBDs),len(HBAs))) for i in range(len(HBDs)): for j in range(len(HBAs)): data[i][j]=np.log(result[j*len(HBDs)+i][0]) print(HBDs[i],HBAs[j],data[i][j]) fig, ax = plt.subplots() plt.contourf(X, Y, data, cmap='RdGy') plt.xticks(x,[x.replace('.coskf','') for x in HBAs ]) plt.yticks(y,[x.replace('.coskf','') for x in HBDs ]) plt.title('IDAC of carnosic acid in DES(1:1) at 35C') plt.colorbar() plt.tight_layout() plt.show()
如此,将在命令行中输出每种HBD-HBA组合下的溶解度: