计算化学公社

标题: 用Gaussview+Gaussian准备MOPAC内坐标输入文件 [打印本页]

作者
Author:
beefly    时间: 2015-1-31 04:09
标题: 用Gaussview+Gaussian准备MOPAC内坐标输入文件
本帖最后由 beefly 于 2015-1-31 05:57 编辑

帮别人写一个MOPAC2012结构优化输入文件,200多个原子,需要限制一些键长、键角。纯手工操作太累了,于是想找个投机取巧的办法。

1,用Gaussview打开初始结构。我用的是pdb文件,Gaussview可以直接打开。如果是直角坐标,需要先建立一个gaussian输入文件,把直角坐标粘贴进去。或者用Gabedit程序读入后,转存为gaussian的直角坐标输入文件。

2,用Gaussview保存Z矩阵坐标输入文件:菜单File/Save,左下角的"Write Cartesians"不要选。以乙烷为例,新产生的文件内容如下:
  1. #p opt geom=connectivity

  2. test

  3. 0 1
  4. C
  5. C 1 1.52286400
  6. H 2 1.09029817 1 111.32672910
  7. H 2 1.09029817 1 111.32672910 3 120.00002386 0
  8. H 1 1.09029783 2 111.32673611 3 -60.00001193 0
  9. H 1 1.09029817 2 111.32672910 3 180.00000000 0
  10. H 1 1.09029817 2 111.32672910 3  59.99997614 0
  11. H 2 1.09029783 1 111.32673611 5 180.00000000 0

  12. 1 2 1.0 5 1.0 6 1.0 7 1.0
  13. 2 3 1.0 4 1.0 8 1.0
  14. 3
  15. 4
  16. 5
  17. 6
  18. 7
  19. 8
复制代码

3,接下来,用Gaussian自带的newzmat工具把上面的Gaussian Z矩阵输入文件转成MOPAC Z矩阵格式。如果是在unix/linux系统下,命令为
newzmat  -izmat  -omopac  zmat.gjf  zmat.mop

其中zmat.gjf是上一步的Gaussian Z矩阵输入文件,zmat.mop是新产生的MOPAC Z矩阵输入文件。如果用G09W,newzmat是在图形界面下运行的,刚开始比用命令行操作稍微复杂一些,用熟就行了。zmat.mop内容如下:
  1. PM6 VECTORS T=10000
  2. test
  3. Title 2 dummied.
  4. C 0.000000 0   0.000000 0   0.000000 0 1 0 0
  5. C 1.522864 0   0.000000 0   0.000000 0 1 0 0
  6. H 1.090298 0 111.326729 0   0.000000 0 2 1 0
  7. H 1.090298 0 111.326729 0 120.000024 0 2 1 3
  8. H 1.090298 0 111.326736 0 -60.000012 0 1 2 3
  9. H 1.090298 0 111.326729 0 180.000000 0 1 2 3
  10. H 1.090298 0 111.326729 0  59.999976 0 1 2 3
  11. H 1.090298 0 111.326736 0 180.000000 0 2 1 5
  12. 00
复制代码

4,编辑MOPAC输入文件。上面的Z矩阵还不能用来做结构优化,需要把三个全是0的列改为1(0表示前面相邻的结构变量保持固定,1表示优化;前3个原子有6个值为0的结构参数,0、1均可)。可以用一些支持列操作的文本编辑器做,例如UltraEdit,JEdit,KATE/KWrite,Crimson Editor,...需要在优化过程中固定的变量再改回0,如果变量不存在(比如固定最后两个氢原子的距离),需要调整相应原子的z矩阵参数,但是不要交换原子顺序,否则会影响其它原子的坐标。

修改计算方法,加上结构优化选项。如果不熟悉MOPAC的选项,可以先用Gabedit的Draw geometry工具产生一个特定计算类型的MOPAC输入模板,然后把上面的Z矩阵放进去。接下来就可以用MOPAC做计算了。


以上操作中关键是第二步,把直角坐标转成Z矩阵内坐标。有些其它程序也可以做,但是效果并不好。例如Gabedit产生的Z矩阵完全依赖原子输入顺序,根本不考虑原子之间的成键,这样的Z矩阵就没什么意义。Gaussview可能是转化效果最好的。但是如果处理一些高对称分子(例如C60),Gaussview产生的Z矩阵未必符合对称性要求,不适合做结构优化,需要手工做一些调整。

有一个猜想:既然AMPAC和MOPAC格式是兼容的,而AMPAC的图形界面AGUI与Gaussview又是同一公司的产品,那么能不能把上面的第二步和第三步合并,用AGUI一次完成呢?经过测试,发现8.0版不行。9.0、10.0版没试过
作者
Author:
北纬18°    时间: 2015-2-1 10:32
不错

作者
Author:
monoceros    时间: 2017-6-23 08:10
感謝分享,很實用的方法
作者
Author:
zyq95449489    时间: 2020-1-7 18:39
厉害




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3