0%

PIO

代码位置

https://github.com/jxzhangcc/PIO

使用步骤

对于PIO3

Gaussian计算部分

  1. 在高斯关键词部分加入pop=nbo6read

  2. 在高斯输入文件的最后一行加入:

    1
    $nbo FILENAME=CH4  AONAO=W33 FNAO=W61 DMNAO=W71 $end
  3. 通过formchk将chk转换成fchk,然后

    1
    2
    formchk xx.chk xx.fchk
    cat *33 *61 *71 > *49

PIO部分

1
2
3
4
5
6
7
conda activate
python /home/zhaoxk/apps/PIO-py3-main/PIO/PIO.py CH4.fchk


$ Please input the atom ID of two fragments: (e.g. 1-5,8,13 6-7,9-12)
$片段一 片段二(片段之间用空格分开,片段内部用逗号,或连接符-进行分开)

注意:如果计算的是开壳层,需要手动将输出的pio和pimo中的fchk文件中泛函部分的ROXXXX改成UXXXX,这样Multiwfn和Jmol等软件才能有两套轨道。

以下内容主要是基于之前的pio

Gaussian计算部分

  1. 在高斯关键词部分加入pop=nbo6read

    • nboread调用的是高斯自带的NBO3,要用NBO6得到.49,否则格式会有问题。格式修改见博文
  2. 在高斯输入文件的最后一行加入:

    1
    $NBO AONAO=W49 FNAO=W49 DMNAO=W49 SKIPBO file=XXX  $END
    • 中XXX应与之后生成的 .fchk 文件名一致
    • PIO_v3可能会报错,需要49文件的名字为大写的
  3. 通过formchk将chk转换成fchk

    1
    formchk xxx.chk xxx.fchk

pio部分

  1. 此时应当有 .fchk 文件以及 NBO 生成的 .49 文件

  2. pio命令一般在在/home/scicons/bin下,将其添加至环境变量即可。此时执行

    1
    pio  ${FILENAME}.fchk {碎片1 的原子序号} {碎片2 的原子序号} 
    • 碎片可以是xx-xx这样的格式
  3. 如果报错,看体系是否是开壳层的,如果是开壳层,需要对.49文件进行一点修改

    • 开壳层,通过一下命令检查,会出现SPIN出现的行数,会发现默认顺序是aabb,正确的顺序应该是abab

      1
      grep -n 'SPIN' XXX.49

      img

      img

      img

      img

      img

      • 在NAO密度矩阵部分只有alpha,结束之后紧跟的是NAO的Fock矩阵,而第一个beta实际上是NAO密度矩阵的部分,将这部分移动到alpha密度矩阵的后面即可。

      • 利用vim命令进行调换即可,调换方法:

        1
        2
        3
        4
        #先删除第一个beta部分
        :129075,154831d
        #光标停在第一个alpha最后一行,直接p即可
        p

结果分析部分

  • pio对结果在生成的txt文件中,pio对的轨道在pio.fchk文件中,而PIMOs的记过在pimo.fchk中
  • pio_v3还有raw文件,pio_v4已经删除
  • 轨道如果通过pio_v4分析得到,用Multiwfn或者Jmol打开转换得到的molden文件,能量都是0,要避免可以用pio_v3

Windows下运行

  • 需要下载python2和anaconda配置python2的运行环境

  • 打开Anaconda的命令行,输入

    1
    conda activate py27
  • 执行命令:

    1
    python PIO.py FILENAME.FChk
  • 输入原子:

    1
    1-5,8,13 6-7,9-12
有用可戳(●ˇ∀ˇ●)