计算化学公社

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

[GROMACS] GROMACS计算MSD的原理是什么?

[复制链接 Copy URL]

200

帖子

0

威望

2115

eV
积分
2315

Level 5 (御坂)

http://bbs.keinsci.com/thread-6830-1-1.html Sob老师在此贴2楼回复了MSD的计算公式。

在GROMACS的Manual中,http://manual.gromacs.org/archive/5.0.5/programs/gmx-msd.html,有这样的描述:"gmx msd computes the mean square displacement (MSD) of atoms from a set of initial positions. This provides an easy way to compute the diffusion constant using the Einstein relation. The time between the reference points for the MSD calculation is set with -trestart. The diffusion constant is calculated by least squares fitting a straight line (D*t + c) through the MSD(t) from -beginfit to -endfit (note that t is time from the reference positions, not simulation time). An error estimate given, which is the difference of the diffusion coefficients obtained from fits over the two halves of the fit interval......The diffusion coefficient is determined by linear regression of the MSD, where, unlike for the normal output of D, the times are weighted according to the number of reference points, i.e. short times have a higher weight".



有个疑问想请教大家,上述标红的reference points指的是什么,和initial positions是一回事么?"short times have a higher weight"这句该怎么理解呢?
如果我计算某100个原子的MSD,轨迹一共10ns,每10 ps存一帧,那么GROMACS计算MSD的过程,是不是以t=0时刻各原子的位置为初始位置,计算100个原子在时刻的|r(t)-r(0)|2然后取平均值?




请大家指点

6万

帖子

99

威望

5万

eV
积分
124686

管理员

公社社长

2#
发表于 Post on 2019-7-19 22:35:38 | 只看该作者 Only view this author
reference point应当是指下图每一个箭头的起点。-trestart设的应该是每个箭头的起点之间的间隔

评分 Rate

参与人数
Participants 1
eV +4 收起 理由
Reason
jimulation + 4 清晰明了!

查看全部评分 View all ratings

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

200

帖子

0

威望

2115

eV
积分
2315

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2019-7-19 23:57:08 | 只看该作者 Only view this author
sobereva 发表于 2019-7-19 22:35
reference point应当是指下图每一个箭头的起点。-trestart设的应该是每个箭头的起点之间的间隔

谢谢Sob老师回复,清晰明了! 还有两个问题想请教您,期待回复。
1. 我的xtc文件间隔是1 ps,而trestart是默认值(10 ps),发现得到的MSD数据间隔是1 ps。这种情况下,是否浪费了许多拟合区段呢(比如MSD曲线上,t=1 ps时刻的值,是0-1 ps,10-11 ps, 20-21 ps...取平均,而1-2 ps、2-3 ps...都没用上)?
2. 计算msd时,是不是时间t点的数量与xtc文件有关,且不可选(因为无-dt选项)。
谢谢哈!

6万

帖子

99

威望

5万

eV
积分
124686

管理员

公社社长

4#
发表于 Post on 2019-7-20 00:06:11 | 只看该作者 Only view this author
jimulation 发表于 2019-7-19 23:57
谢谢Sob老师回复,清晰明了! 还有两个问题想请教您,期待回复。
1. 我的xtc文件间隔是1 ps, ...

1 可能是这样。我暂时没时间专门去看,你可以试试改小了是什么情况
2 没有-dt的话那就是如此。不设置这个选项估计是为了避免情况搞复杂

评分 Rate

参与人数
Participants 1
eV +4 收起 理由
Reason
jimulation + 4 谢谢

查看全部评分 View all ratings

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

200

帖子

0

威望

2115

eV
积分
2315

Level 5 (御坂)

5#
 楼主 Author| 发表于 Post on 2019-7-21 09:07:29 | 只看该作者 Only view this author
sobereva 发表于 2019-7-20 00:06
1 可能是这样。我暂时没时间专门去看,你可以试试改小了是什么情况
2 没有-dt的话那就是如此。不设置这 ...

感谢Sob老师

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

6#
发表于 Post on 2019-8-26 14:35:41 | 只看该作者 Only view this author

      根据sob老师给的第二幅图,我还有一个问题始终不明白,gromacs为什么能在显示有多次restart的情况下还能画出和模拟时间一样长的msd曲线?
      我是这么理解的,要想更加精确,所选的各区段就要更短,正如图上箭头所示,就算区段最长,也只能取长度为7,亦即0-7或1-8。这样我们能画的曲线就只有t=0-7的msd曲线了,而且这种取法因为区段数量少还比较不可靠,所以应该还需再进一步增加区段数,减短每一区段长度吧。
      那么能画出来的msd曲线长度应该远远短于模拟时间才对啊?谢谢了!

6万

帖子

99

威望

5万

eV
积分
124686

管理员

公社社长

7#
发表于 Post on 2019-8-27 00:49:32 | 只看该作者 Only view this author
cavalier 发表于 2019-8-26 14:35
根据sob老师给的第二幅图,我还有一个问题始终不明白,gromacs为什么能在显示有多次restart的情况 ...

能给出的MSD跨度范围<= trjconv统计的轨迹长度
越大跨度的MSD采样数越少,因此越靠后越糙
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

8#
发表于 Post on 2019-8-27 12:10:16 | 只看该作者 Only view this author
sobereva 发表于 2019-8-27 00:49
能给出的MSD跨度范围

      感谢sob老师回复!
      该不会意思是说对于一次模拟的msd曲线,需要不同msd跨度范围采样的,而后再把所有跨度的所有采样都要拿来平均?其中每种msd跨度有[(轨迹总长-跨度范围)/间隔]组采样。
    所以如果以上边第二个图:9帧,总长为8的模拟为例,是不是这样操作的:
      msd跨度范围为1的有0-1,1-2,······,7-8,这样8组采样
     msd跨度范围为2 的有0-2,1-3,······6-8,这样7组采样
      ······
      直到msd跨度为8的只有0-8,一组采样
      总计一共36组采样
      那么进行系宗平均时,36组全部都可以用来平均,来得到最终的0-1的msd曲线。而对于绘制1-2的msd曲线,能拿来平均的就只有36-8的28组了,精度也下降了。
      ······
      直到绘制7-8的msd曲线,只剩下1组,0-8的采样可以用,精度最低。
      所以最终画出来的msd曲线越往后精度越低,而刚开始的曲线又因为处在弛豫阶段也不可靠。
      好像懂了,是我说的这样吗?
      看来gromacs里那句“short times have a higher weight”我可能一直理解错了,这说的不是像0-1,1-2这种短的采样在平均的时候要有更高权重,而是在平均最终的msd曲线时越靠前的曲线,平均时使用过的采样越多。
      请问我这样理解基本正确了吗?谢谢!

6万

帖子

99

威望

5万

eV
积分
124686

管理员

公社社长

9#
发表于 Post on 2019-8-28 00:09:47 | 只看该作者 Only view this author
cavalier 发表于 2019-8-27 12:10
感谢sob老师回复!
      该不会意思是说对于一次模拟的msd曲线,需要不同msd跨度范围采样的,而 ...

比如计算MSD的x=1跨度的位置,相当于把0-1、1-2、2-3等共8个值求平均。x=2跨度的位置相当于把0-2、1-3、2-4等共7个值求平均。因此跨度越小,样本越多,统计误差越小。
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

10#
发表于 Post on 2019-8-28 11:10:58 | 只看该作者 Only view this author
sobereva 发表于 2019-8-28 00:09
比如计算MSD的x=1跨度的位置,相当于把0-1、1-2、2-3等共8个值求平均。x=2跨度的位置相当于把0-2、1-3、2 ...

      感谢sob老师再次回复!
      我现在感觉“因此跨度越小,样本越多,统计误差越小。”我是可以理解的,我是认同的。
      不过,希望我没理解错。
      但是,在想要较小统计误差的前提下,不就不得不缩小跨度了。所以绘制的msd曲线肯定会小于模拟长度了?
      我想总该需要对不同跨度,进行某种共同处理、某种平均,然后整合在一起吧。比如我前面的想法,x=1至x=8的跨度都包含了0-1的msd部分,所以都可以拿来平均而得到最终的msd曲线的0-1部分。总觉得只有这样才可能做的gmx msd里模拟长度=最终输出的msd曲线长度。

6万

帖子

99

威望

5万

eV
积分
124686

管理员

公社社长

11#
发表于 Post on 2019-8-28 23:19:10 | 只看该作者 Only view this author
cavalier 发表于 2019-8-28 11:10
感谢sob老师再次回复!
      我现在感觉“因此跨度越小,样本越多,统计误差越小。”我是可以理 ...

“x=1至x=8的跨度都包含了0-1的msd部分”你没理解对
诸如图上x=7(即MSD=7)在计算时,利用了0-7、1-8、2-9、3-10,这里比如3-10指的是基于第3个点的结构和第10个点的结构来计算出的跨度为7的MSD值。所以并不牵扯到“0-1”
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

12#
发表于 Post on 2019-8-29 11:38:57 | 只看该作者 Only view this author
sobereva 发表于 2019-8-28 23:19
“x=1至x=8的跨度都包含了0-1的msd部分”你没理解对
诸如图上x=7(即MSD=7)在计算时,利用了0-7、1-8、 ...

      万分感谢,我现在终于明白了,gmx msd之所以能模拟多久就输出多久的msd-t,且越往后精度越低,是因为:比如0-10的长度10的模拟,msd-t图线中,t=1是10个点平均而来,t=2是9个点平均而来······t=10则只有1个点(这个点是t=0的坐标和t=10的坐标计算出来的)。
      我发现,其实这样一来,模拟的任意两个时刻之间,其坐标都已计算过msd了,对数据的利用率已经达到百分之百了。

43

帖子

0

威望

197

eV
积分
240

Level 3 能力者

13#
发表于 Post on 2019-8-29 11:53:32 | 只看该作者 Only view this author
本帖最后由 cavalier 于 2019-8-29 11:54 编辑
sobereva 发表于 2019-8-28 23:19
“x=1至x=8的跨度都包含了0-1的msd部分”你没理解对
诸如图上x=7(即MSD=7)在计算时,利用了0-7、1-8、 ...

      sob老师,我在使用gmx msd之前其实是先自己编了一个算法,现在想来,其实我自己的算法和老师您说的差不多,但是区别,其实也是我的算法的不足之处就是数据的利用率并没有达到百分之百。
     我的算法是这样的,还是0-10长度为10的模拟。
     以0开始5结束(这也是我原先理解中的0-5),可以得到一条长度为5的msd-t曲线(也就是上面有5个点)。同理1-6,2-7,3-8,4-9,5-10,一共有6条msd-t曲线,每条长度都只有5,相当于30个点经过平均绘制出来了最终只有5个点的长度为5的msd曲线。
      对比一下,老师您说的算法,一共用到了55个点画出了一条长度为10的(有10个点)的曲线,确实数据利用率高多了!
      话说回来,我的算法倒是理论上每个点的精度都是一样的,应该不存在越往后曲线误差越大。
      再次感谢sob老师,我感觉这下应该理解更进了一步!

本版积分规则 Credits rule

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

GMT+8, 2026-1-24 17:59 , Processed in 0.250602 second(s), 24 queries , Gzip On.

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