计算化学公社

标题: gromacs如何提取数据做距离随时间变化的函数图? [打印本页]

作者
Author:
浅原问问    时间: 2017-7-15 10:35
标题: gromacs如何提取数据做距离随时间变化的函数图?
各位老师好,gromacs顺利结束离子液体动力学之后。我想做指定的一对离子液体之间的距离随时间变化的函数图,例如第1号阳离子与第1号阴离子之间的距离随时间变化的图,请问该怎么做呢?谢谢老师!

作者
Author:
ruanyang    时间: 2017-7-15 12:03
http://manual.gromacs.org/current/programs/gmx-distance.html

定义好group之后,使用gmx-distance计算即可
作者
Author:
sobereva    时间: 2017-7-15 12:26
在VMD用这个脚本定义的comdist命令也可以实现,可得到每一帧sel1 sel2两个选区的质心距离,输出到comdist.txt里
proc comdist {sel1 sel2} {
set result [open comdist.txt w]
set endfps [molinfo top get numframes]
set range1 [atomselect top $sel1]
set range2 [atomselect top $sel2]
for {set i 0} {$i<$endfps} {incr i 1} {
$range1 frame $i; $range1 update
$range2 frame $i; $range2 update
set com1 [measure center $range1 weight mass]
set com2 [measure center $range2 weight mass]
set disx [expr [lindex $com1 0]-[lindex $com2 0]]
set disy [expr [lindex $com1 1]-[lindex $com2 1]]
set disz [expr [lindex $com1 2]-[lindex $com2 2]]
set dist [expr sqrt($disx**2+$disy**2+$disz**2)]
puts $result "$i $dist"
}
close $result
}

作者
Author:
ruanyang    时间: 2017-7-15 12:44
sobereva 发表于 2017-7-15 12:26
在VMD用这个脚本定义的comdist命令也可以实现,可得到每一帧sel1 sel2两个选区的质心距离,输出到comdist.t ...

Sob老师这个厉害了,但是对于轨迹比较大的体系应该怎样处理,才能保证VMD能处理呢?(像我的体系一个case,到到时20G的数据),谢谢!
作者
Author:
fhh2626    时间: 2017-7-15 14:20
ruanyang 发表于 2017-7-15 12:44
Sob老师这个厉害了,但是对于轨迹比较大的体系应该怎样处理,才能保证VMD能处理呢?(像我的体系一个case ...

用bigdcd.tcl,vmd会一帧一帧的处理轨迹
作者
Author:
浅原问问    时间: 2017-7-17 21:04
ruanyang 发表于 2017-7-15 12:03
http://manual.gromacs.org/current/programs/gmx-distance.html

定义好group之后,使用gmx-distance计 ...

非常感谢您!我按照这个做的时候发现,当阴离子是BF4的时候,总是有错误提示。但阴离子为OTf(三氟甲磺酸酯)时,就可以正确得到distave.xvg文件。请问这是怎么回事呢?辛苦您帮我看一下吧,非常感谢!

作者
Author:
ruanyang    时间: 2017-7-17 21:06
简单点的做法,将你需要计算的BF4的原子序号手动找到,然后再index文件中定义成一个group。
作者
Author:
浅原问问    时间: 2017-7-17 21:25
ruanyang 发表于 2017-7-17 21:06
简单点的做法,将你需要计算的BF4的原子序号手动找到,然后再index文件中定义成一个group。

谢谢老师,可我就是这样做的。首先生成了index.ndx文件,里面是我想要的原子序号的group,也就是这张图里面的group 4(第15号BF4),和group 5(第666号阳离子)。我想做group4和group5的距离关系。。。
作者
Author:
GuoBa2011    时间: 2021-5-20 19:05
sobereva 发表于 2017-7-15 12:26
在VMD用这个脚本定义的comdist命令也可以实现,可得到每一帧sel1 sel2两个选区的质心距离,输出到comdist.t ...

老师好,我用这个脚本提示我atomselect: cannot parse selection text,请问该怎么办呢
作者
Author:
sobereva    时间: 2021-5-20 20:26
GuoBa2011 发表于 2021-5-20 19:05
老师好,我用这个脚本提示我atomselect: cannot parse selection text,请问该怎么办呢

选择语句没写对
作者
Author:
GuoBa2011    时间: 2021-5-21 09:34
sobereva 发表于 2021-5-20 20:26
选择语句没写对

老师您好,我用的选择语句是index1,在Representation中显示有对应的数字啊,请问应该用怎样的语句呢?谢谢老师
作者
Author:
sobereva    时间: 2021-5-22 16:55
GuoBa2011 发表于 2021-5-21 09:34
老师您好,我用的选择语句是index1,在Representation中显示有对应的数字啊,请问应该用怎样的语句呢?谢 ...

1前头加空格啊
仔细看
VMD里原子选择语句的语法和例子
http://sobereva.com/504http://bbs.keinsci.com/thread-14267-1-1.html
作者
Author:
clay123    时间: 2025-9-21 16:49
请问一下用lammps计算的话如何计算两个图案侧颗粒的直径距离变化呢




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