计算化学公社

标题: 分子中部分原子的质心径向分布函数 [打印本页]

作者
Author:
yaochuang    时间: 2017-10-13 08:53
标题: 分子中部分原子的质心径向分布函数
请问各位老师,如何计算分子中部分原子的质心径向分布函数呢?

比如说我有100个分子的MD模拟体系,每一个分子由A和B两个部分组成(A-B),现在我想求解一下A部分质心的径向分布函数不知是否可以?

我做了如下尝试:建立所有分子中A部分的一个索引组文件index.ndx(包含100个分子中所有A部分的编号),然后利用  gmx rdf -s md.tpr -f md.xtc -b 8000 -e 10000 -pbc yes -selrpos mol_com -seltype mol_com -n index.ndx -o rdf-backbone.xvg 运行过程中选择A部分对应的group作为参考和计算组。
但是计算结构很奇怪,在很小的距离里面有非常大的值(0.1 nm左右,具有非常高的峰值),而且我将-selrpos 和-seltype中的参数换了个遍输出都没有变化。

所以我觉得肯定是什么地方出错了,还请各位老师帮助,谢谢大家!


作者
Author:
wbn    时间: 2017-10-13 10:44
本帖最后由 wbn 于 2017-10-13 10:47 编辑

我猜可以这么做(我自己没试过不保证work!):重新写一个topolgy文件,把里面B部分原子质量定义为0,用原来的mdp和gro进行grompp得到一个tpr文件,再运行你上面的命令(ndx文件就不要了,直接选分子),但是用的是新做的tpr。不知道这样行不行
作者
Author:
sobereva    时间: 2017-10-13 15:18
你那种写法有问题。
如果你用selection语句模式执行,应当用-ref和-sel设定参考组的定义。给你一些例子,是纯水体系,适当变通后用于你的体系

绘制O-O径向分布函数
gmx rdf -f prod.xtc -s prod.tpr -ref "name OW" -sel "name OW"

绘制O-H径向分布函数
gmx rdf -f prod.xtc -s prod.tpr -ref "name OW" -sel "name HW1 HW2"

绘制水分子质心间的径向分布函数,以下两个等价
gmx rdf -f prod.xtc -s prod.tpr -ref "water" -sel "water" -seltype mol_com
gmx rdf -f prod.xtc -s prod.tpr -ref "res_com of resname SOL" -sel "res_com of resname SOL"

不需要设-selrpos

作者
Author:
yaochuang    时间: 2017-10-13 18:36
wbn 发表于 2017-10-13 10:44
我猜可以这么做(我自己没试过不保证work!):重新写一个topolgy文件,把里面B部分原子质量定义为0,用原来 ...

谢谢!
作者
Author:
yaochuang    时间: 2017-10-13 18:36
sobereva 发表于 2017-10-13 15:18
你那种写法有问题。
如果你用selection语句模式执行,应当用-ref和-sel设定参考组的定义。给你一些例子, ...

谢谢sob老师!
作者
Author:
ChunLinX    时间: 2020-5-12 12:10
您好!请问您的问题解决了吗?可以请教一下解决方法吗?
作者
Author:
sobereva    时间: 2020-5-14 16:42
ChunLinX 发表于 2020-5-12 12:10
您好!请问您的问题解决了吗?可以请教一下解决方法吗?

仔细看别人的回帖
作者
Author:
HJC    时间: 2021-5-24 08:46
您好,请问我的体系内如果有两类分子(A和B),我将A分成三部分(A1,A2,A3),同理B也是三部分,怎么算A1-B1间的RDF呢?怎么得到A1,B1的虚拟质心?或者说还是手动找到对应的原子再去算RDF呀?
作者
Author:
yaochuang    时间: 2021-5-25 13:00
HJC 发表于 2021-5-24 08:46
您好,请问我的体系内如果有两类分子(A和B),我将A分成三部分(A1,A2,A3),同理B也是三部分,怎么算A1 ...

定义好分子中resname,按照3楼sob老师给的例子就可以实现。
作者
Author:
HJC    时间: 2021-5-26 10:06
yaochuang 发表于 2021-5-25 13:00
定义好分子中resname,按照3楼sob老师给的例子就可以实现。

感谢您的回答!
作者
Author:
JoeyssaWang    时间: 2023-8-10 22:26
您好,如果是体系内有100个X分子,将X分成三部分(A-D-A,分子内有两个相同的部分),怎么计算A-A间的RDF呢?
作者
Author:
赵小壮    时间: 2023-8-11 15:38
JoeyssaWang 发表于 2023-8-10 22:26
您好,如果是体系内有100个X分子,将X分成三部分(A-D-A,分子内有两个相同的部分),怎么计算A-A间的RDF呢 ...

这不就跟水的H-H的RDF一模一样,用两重循环就可以了,gr(r) = N*(N-1)/V * <\sum_i \sum_j \delta(r-r_ij)>




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