计算化学公社

 找回密码 Forget password
 注册 Register
Views: 8875|回复 Reply: 33
打印 Print 上一主题 Last thread 下一主题 Next thread

[GROMACS] TRAPPE_small力场包

  [复制链接 Copy URL]

1657

帖子

5

威望

4558

eV
积分
6315

Level 6 (一方通行)

喵星人

本帖最后由 喵星大佬 于 2024-1-12 18:25 编辑

==========2023-04-08更新===========
由于有用户反映该力场常与水模型合用以模拟水溶液的情况,因此更新了力场中的设置并添加了水模型的相关支持

对于默认使用SETTLE的硫化氢和环氧乙烷分子,添加了使用SHAKE约束的参数

如果需要模拟这两种分子在水溶液中的情况并对水使用SETTLE约束,可以在mdp文件中设置
  1. define                                        = -DNOSETTLES
复制代码
选项激活相关设置以保证可以正确对水使用SETTLE

另一项更新是在二氧化碳中使用了虚拟质量点。
由于二氧化碳为直线分子,如果直接使用SHAKE/RATTLE算法对3个键长进行约束将,180度的键角会导致约束步的Jacobian矩阵奇异而无法施加约束。因此,为了保证直线约束的稳定性,重新调整了约束方式。采用新参数后,可以正确的对二氧化碳分子施加LINCS约束
该参数已通过二氧化碳水溶液NPT模拟中的RDF进行了验证

此外,由于SHAKE约束方法无法在能量极小化过程中使用,因此建议如果需要做能量极小化,可以使用布朗动力学进行近似能量极小化


============分割线==============

TRAPPE力场是明尼苏达大学Siepmann课题组开发的一系列力场,主要用于包括相平衡在内的一系列模拟
其中的Small版本包含了7种简单分子,为硫化氢,氮气,氧气,环氧乙烷,氨气,二氧化碳和氦气
其官网为: http://trappe.oit.umn.edu/#small

本人根据官网和原文中提供的数据(不包含氦气,不管原文还是官网都没见到参数,但是页面上又说有),将其转换为Gromacs的格式力场包,可进行相关模拟


力场包中包含了所有6种分子的itp文件和pdb文件

6种气体单独存在的情况下已经过测试(测试条件为常温常压,盒子大小约30 nm,内含1000个各种分子)无误,注意其建议范德华截断半径为1.4 nm,且须结合PME计算长程静电作用

由于其均为刚性模型,考虑到约束的运行效率,对硫化氢和环氧乙烷设置了SETTLE约束,因此不能同时加入这两种分子,当然由于本来这两种分子之间就会发生反应,不应该共存,所以实际并没有影响。但是注意,此时不能和任意刚性水模型合用,除非修改水模型的约束,因为Gromacs中的水模型默认用SETTLE的参数,但是一个模拟中只能有一个分子使用SETTLE

对其他的默认为LINCS约束,对氨气和二氧化碳由于涉及非对角元,LINCS算法的近似矩阵求逆不成立,只能使用SHAKE约束迭代求解验证中CO2较同样原子数的H2S慢了相当多(约20-30%)

在forcefield.doc中对各个参数的来源作了说明

欢迎使用







trappe_small.ff.rar

9.7 KB, 下载次数 Times of downloads: 481

评分 Rate

参与人数
Participants 18
威望 +1 eV +67 收起 理由
Reason
Lingmou + 5 谢谢
丁越 + 5 好物!
水帝WaterKing + 2
Chrisnuub + 3 谢谢
realjun.zhou + 1 谢谢
张凤翔 + 5
origami + 3 谢谢
joojoseph + 3 谢谢
rdcfm1223 + 5
chuxuedexiaobai + 3 谢谢l老师
jrfjrf123 + 5 谢谢!
五月雨 + 5 谢谢分享
snljty2 + 5 GJ!
anson + 5 GJ!
高处裹棉被 + 5 GJ!
sobereva + 1
牧生 + 2 GJ!
ByTheWay + 5

查看全部评分 View all ratings

42

帖子

0

威望

127

eV
积分
169

Level 3 能力者

34#
发表于 Post on 2025-3-21 13:16:02 | 只看该作者 Only view this author
喵星大佬 发表于 2025-3-20 22:44
我并没有碰到过这种问题,你是不是和其他分子一起用了

找到问题了:Apple M1芯片不能这样。使用Windows电脑或者Linux就好了

42

帖子

0

威望

127

eV
积分
169

Level 3 能力者

33#
发表于 Post on 2025-3-21 13:09:20 | 只看该作者 Only view this author
喵星大佬 发表于 2025-3-20 22:44
我并没有碰到过这种问题,你是不是和其他分子一起用了

没有的,纯NH3就这样提示

1657

帖子

5

威望

4558

eV
积分
6315

Level 6 (一方通行)

喵星人

32#
 楼主 Author| 发表于 Post on 2025-3-20 22:44:57 | 只看该作者 Only view this author
raku 发表于 2025-3-20 19:38
请教老师,在使用您制作的itp和pdb模拟NH3时,
总是提示SHAKE is not supported with domain decompositio ...

我并没有碰到过这种问题,你是不是和其他分子一起用了

1657

帖子

5

威望

4558

eV
积分
6315

Level 6 (一方通行)

喵星人

31#
 楼主 Author| 发表于 Post on 2025-3-20 22:44:11 | 只看该作者 Only view this author
thor 发表于 2025-2-3 20:12
这个结果异常是指什么呢,我看到很多文章(气体分离)模拟CO2用的TraPPE力场,没有提到增加额外的虚拟质 ...

那个只是为了能顺利模拟进行的修改,跟原版是等价的,实际上并没有可以约束三点共线并兼容热浴的方法,所以不这么改应该是不能跑起来的,模拟完了作图不展示虚拟点也是很正常的

42

帖子

0

威望

127

eV
积分
169

Level 3 能力者

30#
发表于 Post on 2025-3-20 19:38:45 | 只看该作者 Only view this author
请教老师,在使用您制作的itp和pdb模拟NH3时,
总是提示SHAKE is not supported with domain decomposition and constraints that cross
domain boundaries, use LINCS
-------------------------------
mdp设置如下:
constraints              =  none / all-bonds
constraint-algorithm     = SHAKE
continuation             = no
Shake-SOR                = yes
shake-tol                = 0.0001
-------md 命令如下-----------------
gmx mdrun -v -s be.tpr -deffnm eq -ntmpi 1 -nt 1 ;使用-ntmpi 1 和 -nt 1防止域分解
---------------------------------------
不知道这样设置还有什么不对的地方导致提示报错提示。请帮指导,谢谢!

134

帖子

0

威望

1664

eV
积分
1798

Level 5 (御坂)

29#
发表于 Post on 2025-2-3 20:12:55 | 只看该作者 Only view this author
喵星大佬 发表于 2024-1-11 21:59
当然是0,真正在原子位置的是虚拟点,只是用来提供真实相互作用的力矩。真正用来描述质心运动和分子转动 ...

这个结果异常是指什么呢,我看到很多文章(气体分离)模拟CO2用的TraPPE力场,没有提到增加额外的虚拟质量点。

4

帖子

0

威望

195

eV
积分
199

Level 3 能力者

28#
发表于 Post on 2024-12-25 17:41:51 | 只看该作者 Only view this author
喵星大佬 发表于 2024-12-25 15:23
稍慢指的是只约束孤立键长,你这个要约束的是6个耦合的自由度,计算量本来就很大。

你可以用类似CO2的 ...

好的十分感谢老师的回复,刚接触gromacs对虚拟点相关知识不太了解,手册上看的也是一头雾水,网上有没有相关计算过程,老师能否推荐学习一下,再次感谢老师!

1657

帖子

5

威望

4558

eV
积分
6315

Level 6 (一方通行)

喵星人

27#
 楼主 Author| 发表于 Post on 2024-12-25 15:23:54 | 只看该作者 Only view this author
zhishidishu 发表于 2024-12-25 15:11
感谢老师的回复,我还想再问下
1.手册上说比LINCS稍微慢一点,我这个慢了20倍,是不是太慢了?
2.还有 ...

稍慢指的是只约束孤立键长,你这个要约束的是6个耦合的自由度,计算量本来就很大。

你可以用类似CO2的方法把氨变成3个等效质点,保证3个转动自由度的转动惯量和总质量与原分子一致,所有原子的位置放虚拟点,用SATTLE算法约束这个等边三角形

4

帖子

0

威望

195

eV
积分
199

Level 3 能力者

26#
发表于 Post on 2024-12-25 15:11:41 | 只看该作者 Only view this author
喵星大佬 发表于 2024-12-25 12:25
shake要迭代肯定慢,没法混用不同的约束方法,但可以适当降低shake算法的误差容限

感谢老师的回复,我还想再问下
1.手册上说比LINCS稍微慢一点,我这个慢了20倍,是不是太慢了?
2.还有老师您说的是更改shake-tol吗,我尝试从0.0001增大到了0.01,速度也仅从50ns/day增加到70ns/day,还有其他加速的方法吗?

1657

帖子

5

威望

4558

eV
积分
6315

Level 6 (一方通行)

喵星人

25#
 楼主 Author| 发表于 Post on 2024-12-25 12:25:21 | 只看该作者 Only view this author
shake要迭代肯定慢,没法混用不同的约束方法,但可以适当降低shake算法的误差容限

4

帖子

0

威望

195

eV
积分
199

Level 3 能力者

24#
发表于 Post on 2024-12-25 10:31:36 | 只看该作者 Only view this author
请问下大佬,我想要模拟液氨的密度,设置盒子大小是4.5nm^3,采用npt控压1MPa,首先采用GAFF力场,计算液氨密度为850kg/m3,实验密度应为(600kg/m3),采用LINCS,计算速度大概1000ns/day,更改采用trappe-small力场,更改算法为SHAKE,液氨密度为580kg/m3接近实验值,但速度下降到大概50ns/day。
1.更改算法后这样速度正常吗?
2.如果正常,更改哪些设置可以使速度变快?
3.如果在液氨中加入有机分子,能否对其他分子设置lincs算法,单独对NH3采用SHAKE算法?

202412251031208712..png (22.85 KB, 下载次数 Times of downloads: 47)

202412251031208712..png

1657

帖子

5

威望

4558

eV
积分
6315

Level 6 (一方通行)

喵星人

23#
 楼主 Author| 发表于 Post on 2024-12-5 14:56:52 | 只看该作者 Only view this author
raku 发表于 2024-12-4 22:18
请教下大佬,在N2的itp中是否需要设置两个原子之间的[ exclusions ],盼复,谢谢啦!

函数类型1的constraint本来就排除了,而且我应该写了exclusions用来排除和虚拟点的

42

帖子

0

威望

127

eV
积分
169

Level 3 能力者

22#
发表于 Post on 2024-12-4 22:18:54 | 只看该作者 Only view this author
请教下大佬,在N2的itp中是否需要设置两个原子之间的[ exclusions ],盼复,谢谢啦!

42

帖子

0

威望

127

eV
积分
169

Level 3 能力者

21#
发表于 Post on 2024-11-28 21:36:04 | 只看该作者 Only view this author
专业专业

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-14 18:48 , Processed in 0.831875 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list