********SPHERES IN PCMSPHGEN************
INDEX X Y Z R
1 2.1499166192D+00 -1.9894550417D+00 1.6741801837D+00 1.2000000000D+00
2 4.0096560598D+00 2.5073910458D-01 0.0000000000D+00 1.2000000000D+00
3 2.1499166192D+00 -1.9894550417D+00 -1.6741801837D+00 1.2000000000D+00
...略
这些原子半径是怎么来的?实际上在源代码目录下的sirius/sircav.F中可以发现以下内容,可见用的是Bondi原子半径,但个C、N、O的半径是U. Pisa修改后的。对没定义半径的元素,半径直接当成0。
! A.Bondi, J.Phys.Chem. 68: 441-451(1964) gives alternate
! values, and a few transition metals.
allocate(rvdw(99))
rvdw = (/ 1.20d0, 1.22d0, 0.00d0, 0.00d0, 2.08d0, 1.85d0,
& 1.54d0, 1.40d0, 1.35d0, 1.60d0, 2.31d0, 0.00d0,
& 2.05d0, 2.00d0, 1.90d0, 1.85d0, 1.81d0, 1.91d0,
& 2.31d0, 13*0.0d0, 2.00d0, 2.00d0, 1.95d0, 1.98d0,
& 2.44d0, 13*0.0d0, 2.20d0, 2.20d0, 2.15d0, 0.00d0,
& 2.62d0, 27*0.0d0, 2.40d0, 16*0.0d0 /)
! override the above table with U. Pisa's experience
! as to what works best for singly bonded C,N,O
rvdw(6) = 1.70d0
rvdw(7) = 1.60d0
rvdw(8) = 1.50d0
#P B3LYP/def2SVP nosymm scrf
[空行]
Generated by Multiwfn
[空行]
0 1
C 1.17229118 -0.41192328 0.00000000
H 1.13768688 -1.05277427 0.88593800
H 2.12181861 0.13268542 0.00000000
H 1.13768688 -1.05277427 -0.88593800
C -0.00000000 0.55479430 0.00000000
H 0.05413938 1.20787442 -0.88657584
H 0.05413938 1.20787442 0.88657584
O -1.19922622 -0.21255820 0.00000000
H -1.94540849 0.40035379 0.00000000
#P B3LYP/def2SVP nosymm scrf=read
[空行]
Generated by Multiwfn
[空行]
0 1
C 1.17229118 -0.41192328 0.00000000
H 1.13768688 -1.05277427 0.88593800
H 2.12181861 0.13268542 0.00000000
H 1.13768688 -1.05277427 -0.88593800
C -0.00000000 0.55479430 0.00000000
H 0.05413938 1.20787442 -0.88657584
H 0.05413938 1.20787442 0.88657584
O -1.19922622 -0.21255820 0.00000000
H -1.94540849 0.40035379 0.00000000
[空行]
alpha=1.2
modifysph
[空行]
H 1.2
C 1.7
O 1.5
[空行]
[空行]
576: Warning, element 34 263 of SI too big: set to zero
577: Warning, element 50 249 of SI too big: set to zero
578: Warning, element 52 249 of SI too big: set to zero
579: Warning, element 56 247 of SI too big: set to zero
...
这里说一下原因。.NPCMMT选项在手册里找不到,但在源代码sirius/sirpcm.F里能看到其说明
NPCMMT = 0 No correction of the DI, SI and C matrices
NPCMMT = 1 Correction of DI and SI (default)
NPCMMT = 2 Correction of DI, SI and C
进而看sirief.F,会发现NPCMMT为1、2的时候都会自动做矩阵的检查,并可能导致那些warning的出现。是否会出现warning和是否自定义原子半径并没必然关系。NPCMMT为1、2时做的校正其实没什么意义,和为0时的结果差异微乎其微。对于前例,为1时偶极矩为1.913867、单点能为-154.9289657907 Ha,为0时分别为1.913182和-154.9289638876 Ha。
计算时还有可能出现** WARNING ** A VERY POOR TESSELATION HAS BEEN CHOSEN,这通过设NPCMMT为0也不会避免。根据我的测试,这个warning一般也是无害的,结果还是正常的。实在不放心的话可以按照上文的方式,把Gaussian中的原子半径设成与Dalton相同后对Dalton的结果做验证,也可以尝试把Dalton的原子半径设成和Gaussian默认的一致看看是否warning能消除,且与Gaussian结果相符。