Skip to content
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键级的平均值与标准差共同衡量芳香性

α×Mean(orders)+(1α)×SD(orders)

其中α为混合系数,默认值为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

计算公式

HOMER=1αXYni(RXY,iRXY,opt)2

其中X,Y是两种键的类型, αXYRXY,i 是与键类型相关的参数

示例代码

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]