Jerkwin分享 http://blog.sciencenet.cn/u/Jerkwin

博文

GROMACS QM/MM教程3:使用DFTB3进行QM/MM模拟

已有 7072 次阅读 2017-2-14 03:12 |系统分类:科研笔记

分子动力学模拟软件GROMACS包含了QM/MM模块, 其中的量子化学计算需要通过外部程序来进行. GROMACS目前提供的量子化学接口包括: Gamess UK, Gaussian, Mopac和Orca. 详情请参阅GROMACS官方说明.

DFTB是基于密度泛函理论的参数化量子化学计算方法, 其最新版本DFTB3发展于2011年, 能够成功地用于描述有机和生物分子体系, 并比常规的DFT方法快100到1000倍. 对于DFTB的介绍, 可以参考DFTB2DFTB3的原始论文.

我们已经在GROMACS 5中实现了DFTB方法. 这意味着所有计算都是在GROMACS程序中进行的, 运行QM/MM模拟时不再需要借助外部程序. 实现方法可参考我们发表的论文:

T. Kubař, K. Welke and G. Groenhof: New QM/MM Implementation of the DFTB3 method in the Gromacs Package, J. Comput. Chem. DOI:10.1002/jcc.24029 (2015)

DFTB方法不能描述London色散作用. 不过, 对能量进行经验的post-SCF校正可以弥补这个缺陷. 目前, 我们已经实现了D3色散校正. 需要使用时, 请参考D3D3-BJ的论文.

获取并安装程序

首先, 从GROMACS官方网站上获取GROAMCS 5.0版本.

同时, 我们需要将GROMACS与PLUMED联用, 所以你还需要获取PLUMED 2.1或2.1.x版本.

安装PLUMED, 但先不要为GROMACS打补丁.

获取实现DFTB的BGROMACS补丁, 最新版本于2015年10月30日发布.(请通过电子邮件告知我们, 你的姓名及地址, 何时下载了我们的程序. 我们会为你的信息保密, 并不会将其透漏给第三方. 谢谢)

使用刚刚下载的文件为GROMACS打补丁:

tar-xvzfgromacs-5.0-dftb-v6-plumed.patch.tgz patch-p0gromacs-5.0-dftb-v6a-plumed.patch

手动改正GROMACS主目录, Plumed.cmake和Plumed.inc文件中对libplumed.so或libplumed.a文件的引用, 使其与你的安装一致.

编译GROMACS. 选择dftb作为GMX_QMMM_PROGRAM的值, 并且关闭CUDA以及所有的并行选项(MPI, THREAD_MPI和OPENMP). 最好编译为双精度版本(GMX_DOUBLE=ON). 当链接到MKL线性代数库时可能会遇到问题. 如果你解决了这些问题, 请告知我们.

获取参数集

DFTB方法涉及一些参数集, 请查阅原始文献获取更多信息. 在网站上注册后便可免费获得参数文件. 对于有机和生物分子, 我们推荐使用DFTB3方法和3OB参数集. 需要注意的是, 目前支持的化学元素仅包括: H, C, N, O, P, S, F, Cl, Br, I, Na, K和Ca.

从网站获得的参数文件不能被类似GROMACS的C语言程序直接读取. 所以, 要将其转换为合适的格式. 你可以下载一个脚本来完成这个工作. 不过需要注意的是, 需要在脚本中指定要处理的化学元素.

假如你需要在DFTB计算中应用D3色散校正, 还要下载必须的参数文件并将其解压到DFTB参数文件所在的文件夹.

进行模拟

由于使用了原始的GROMACS QM/MM接口, 所以你需要先了解这一部分的GROMACS官方说明. 需要注意的是, 进行QM/MM模拟时必须修改拓扑文件, 并且在目前的实现中, QM区域必须完全处于一个分子中(以拓扑的角度而言).

运行输入文件(.mdp)中与QM/MM相关的选项总结如下:

QMMM=yes QMMM-grps=QMsystem;需要在索引文件中定义 QMMMscheme=normal QMmethod=RHF;需要但会被忽略 QMbasis=STO-3G;需要但会被忽略 QMcharge=0;整数 MMchargescalefactor=1.;或更小值

使用DFTB运行QM/MM时, 还有一些额外的选项:

QMdftbsccmode=3;3对应DFTB3,2对应DFTB2(也即SCC-DFTB) QMdftb-telec=10.;费米分布的"电子温度" QMdftb-slko-path=/path/to/skf/;参数文件的路径,含最后的斜线 QMdftb-slko-separator=;元素名称间的可能字符 QMdftb-slko-lowercase=yes;或no,文件名称中使用"Ca"还是"ca" QMdftb-slko-suffix=-c.spl;文件名称 QMdftb-partial-pme=1;加速的PMF计算,推荐使用(置零关闭) QMdftb-dispersion=1;使用D3,或者置零忽略色散校正 QMdftb-cdko=0;目前没实现 QMdftb-mmhub-inf=1;目前没实现

此外, 进行QM/MM模拟时需要注意下面的通用设置:

  • 推荐使用cutoff-scheme=group, 因为我们并不确定Verlet算法如何用于QM/MM

  • 在一些模拟中, 如果没有明确指定nstpcouple变量, 进行NPT模拟时往往会得到错误结果. 我们推荐在运行输入文件中设置nstpcouple=1, 或使用NVT模拟

运行mdrun程序前, 可设置一些合适的环境变量以便使用扩展功能:

exportGMX_DFTB_SLKO_PATH="/path/..."#覆盖.mdp中的设置exportGMX_DFTB_SLKO_LOWERCASE=y#覆盖.mdp中的设置exportGMX_DFTB_SLKO_SEPARATOR="-"#覆盖.mdp中的设置exportGMX_DFTB_SLKO_SUFFIX=".skf"#覆盖.mdp中的设置exportGMX_DFTB_TELEC=300.#覆盖.mdp中的设置exportGMX_DFTB_QM_COORD=n#QM原子的坐标每n步输出一次exportGMX_DFTB_MM_COORD=n#MM原子的坐标每n步输出一次exportGMX_DFTB_CUTOFF=1#使用switched-forcecut-off而不是PME处理QM/MM静电相互作用exportGMX_DFTB_RFIELD=1#使用reaction-field而不是PME处理QM/MM静电相互作用exportGMX_DFTB_SHIFT=1#使用shifted-forcecut-off而不是PME处理QM/MM静电相互作用exportGMX_DFTB_SURFACE_CORRECTION=1#PME中使用偶极校正而不是使用tin-foil边界条件

在模拟的过程中, 除了会生成常规的一些输出文件之外, mdrun还会额外生成一个名为 qm_dftb_chargs.xvg的文件, 其中包含了原子的Mulliken电荷.

版本历史
  • v6a: 修订版本(2015年10月30) 下载链接

  • v6: 原始版本, GROMACS 5.0 + Plumed 2.1/2.1.x(2015年3月26) 下载链接



https://blog.sciencenet.cn/blog-548663-1033471.html

上一篇:自动调整VMD窗口的位置和大小
下一篇:GROMACS QM/MM教程4:使用连接原子
收藏 IP: 130.184.197.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-14 23:48

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部