薛堪豪的个人博客分享 http://blog.sciencenet.cn/u/bfax 兴趣:凝聚态物理,电化学

博文

Gromacs 有机溶剂模拟 学习笔记(二)

已有 3350 次阅读 2014-7-20 23:49 |个人分类:物理|系统分类:科研笔记

上次混合两种溶剂的方法过于笨拙,所以这次我们改用 packmol 软件来混合。

我们的目的是:用分子动力学方法证明辛醇不溶于水。

packmol 在 Linux 下的安装比较简单,不再赘述。

首先下载正辛醇的拓扑文件:

> wget http://virtualchemistry.org/molecules/67-68-5/OPLS/oplsaaff.itp

> wget http://virtualchemistry.org/molecules/111-87-5/OPLS/111-87-5-gas.pdb 

> wget http://virtualchemistry.org/molecules/111-87-5/OPLS/111-87-5.top 

然后建立一个 packmol 的输入文件 inp,内容如下:


tolerance 2.0

filetype pdb

output box.pdb

structure 111-87-5-gas.pdb

 number 52

 inside box 0. 0. 0. 30. 30. 30.

end structure


运行

> packmol < inp

输出文件称为 box.pdb,它含有 52 个辛醇分子。盒子大小其实是 3 nm 见方。由于 packmol 的长度单位是埃,所以写成 30。

用 editconf 将其转为 gro 格式:

> editconf -f box.pdb -o box.gro -box 3 3 3

然后在盒子中填满水:

> genbox -cp box.gro -cs spc216.gro -o box.gro -maxsol 450

这其实就是把正辛醇当作溶质,而把水当作溶剂。水化以后,替换原来的 box.gro。根据水和正辛醇的密度推算,至多加入 450 个水分子。


接下来就要手工建立系统的拓扑文件。先把 OPLS 力场下水的拓扑文件拷贝到当前目录:

> cp [GROMACS的top目录]/oplsaa.ff/spc.itp ./

然后将辛醇的拓扑文件的扩展名改为 itp:

> mv 111-87-5.top 1-octanol.itp

编辑 1-octanol.itp 文件。删除这一行

#include "oplsaaff.itp"

然后还要删除这两行

[ molecules ]

1-octanol 1

最后我们输入如下拓扑文件,命名为 run.top

#include "oplsaaff.itp"

#include "1-octanol.itp"

#include "spc.itp"

[ system ]

Oct in water

[ molecules ]

1-octanol   52

SOL          450

虽然是手动的,但文件并不复杂。第一行先包含力场文件。接下来两行分别包含了两种溶剂的 itp 文件。[system] 就是起个名字。 [molecules] 要说明每种溶剂分子各多少个,需要在 box.gro 文件中查找个数。注意这里的名字要与相应 itp 的 [moleculetype] 的名字一致。

接下来就可以进行分子动力学模拟了。



http://blog.sciencenet.cn/blog-365047-813282.html

上一篇:Gromacs 有机溶剂模拟 学习笔记(一)
下一篇:给矢量图瘦身

1 Vetaren11

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

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-11-20 07:17

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部