python
import sys;sys.path.append('d:/code/pywfn')分子性质
计算分子整体的性质
所有的分子性质的计算器都包含在pywfn.moleprop子包下,其中每一个模块封装了一种类型的分子性质计算器
其包含的模块有
aromacity分子芳香性
emm,目前也就只包含计算芳香性 (lll¬ω¬)
每个模块下都有一个Calculator类,实例化时传入要计算的分子即可
芳香性
π 键级标准差
使用π键级的标准差来简单衡量分子的芳香性、标准差越小,表明键级分布越均匀,表明芳香性越好
示例代码
下面代码以苯环为例,可以看到6根键的键级都一样,因此标准差很小,芳香性也很好
python
from pywfn.base import Mole
from pywfn.reader import LogReader
from pywfn.moleprop import aromacity
mol=Mole(LogReader(rf"./mols/C6H6.out"))
caler=aromacity.Calculator(mol)
caler.pisd() 1- 2: 0.6606
1- 6: 0.6606
2- 3: 0.6606
3- 4: 0.6606
4- 5: 0.6606
5- 6: 0.6606
3.534736618082012e-06
python
# 也可以手动指定需要计算的环,方便与NICS对比
caler.pisd(ring=[1,2,3,4,5,6]) 1- 2: 0.6606
1- 6: 0.6606
2- 3: 0.6606
3- 4: 0.6606
4- 5: 0.6606
5- 6: 0.6606
3.534736618082012e-06
π键级的平均值与标准差
使用pi键级的平均值与标准差共同衡量芳香性
其中α为混合系数,默认值为0.5,可以自己调节
该方法通过引入π键级的平均值与可调节参数提升了方法的复杂性,当α=0时与只使用标准差一样
示例代码
python
from pywfn.base import Mole
from pywfn.reader import LogReader
from pywfn.moleprop import aromacity
mol=Mole(LogReader(rf"./mols/C6H6.out"))
caler=aromacity.Calculator(mol)
caler.pimsd() 1- 2: 0.6606
1- 6: 0.6606
2- 3: 0.6606
3- 4: 0.6606
4- 5: 0.6606
5- 6: 0.6606
0.3302794169361899
MOMER
Cite this: Phys. Chem. Chem. Phys., 2023, 25, 16763
计算公式
其中X,Y是两种键的类型,
示例代码
python
from pywfn.base import Mole
from pywfn.reader import LogReader
from pywfn.moleprop import aromacity
mol=Mole(LogReader(rf"./mols/C6H6.out"))
caler=aromacity.Calculator(mol)
rings=[
[1,2,3,4,5,6]
]
caler.HOMER(rings)[-0.20489206922551273]