24小时热门版块排行榜    

查看: 1455  |  回复: 10

nnipp

金虫 (小有名气)

[求助] 求.XYZ 文件获得任意原子距离工具

刚开始学习分子动力学
如何从.XYZ 文件获得任意原子距离
各位大侠有现成的小工具吗?
悲催,不会编程=。=“
回复此楼
功不唐捐
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qphll

金虫 (正式写手)

★ ★
御剑江湖(金币+2): 谢谢 2011-11-16 16:53:27
用VMD量一下就好了.
Life, Love, Laugh.
2楼2011-11-16 13:25:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nnipp

金虫 (小有名气)

引用回帖:
2楼: Originally posted by qphll at 2011-11-16 13:25:00:
用VMD量一下就好了.

我想作图时间-原子间距离
VMD可以输出每一步的距离吗?
还是几万步每个图都量一下?
功不唐捐
3楼2011-11-16 16:48:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yyuan8658

金虫 (正式写手)

【答案】应助回帖


zh1987hs(金币+1): 谢谢 2011-11-17 13:20:34
如果你用的是amber的话,有ptraj命令用来测量的。
其它软件我不熟悉,貌似也应该会有的。
4楼2011-11-17 09:00:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nnipp

金虫 (小有名气)

引用回帖:
4楼: Originally posted by yyuan8658 at 2011-11-17 09:00:32:
如果你用的是amber的话,有ptraj命令用来测量的。
其它软件我不熟悉,貌似也应该会有的。

amber 可以用 ptraj命令自动测量并输出两原子之间距离吗?
CPMD或者CP2K的.xyz文件可以直接读取吗?非常感谢!
功不唐捐
5楼2011-11-17 21:38:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qphll

金虫 (正式写手)

★ ★
ghcacj(金币+2): 谢谢 2011-11-19 11:27:37
引用回帖:
5楼: Originally posted by nnipp at 2011-11-17 21:38:28:
amber 可以用 ptraj命令自动测量并输出两原子之间距离吗?
CPMD或者CP2K的.xyz文件可以直接读取吗?非常感谢!

不管这是不是你的课题的主体, 我觉得你还是要写一个小程序来实现这个.
Life, Love, Laugh.
6楼2011-11-18 06:36:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nnipp

金虫 (小有名气)

引用回帖:
6楼: Originally posted by qphll at 2011-11-18 06:36:12:
不管这是不是你的课题的主体, 我觉得你还是要写一个小程序来实现这个.

虽然是个小程序
对于不会编程的还真是“心有余力不足”
唉~难道必须要从编程学起
路漫漫其修远兮
功不唐捐
7楼2011-11-18 23:25:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

q1036210267

木虫 (正式写手)

【答案】应助回帖

★ ★ ★
ghcacj(金币+3): 谢谢 2011-11-19 11:27:48
nnipp(金币+10): 谢谢 用什么命令可以读取每一步坐标 并计算指定某两个原子每一步的距离呢 2011-11-20 18:11:58
用fortran 很简单的编程, 就是先把 xyz 文件读入,
例如有两个原子坐标分别为(x1, y1, z1)和 (x2, y2, z2)
用d = sqrt ( (x1- x2)**2 + (y1-y2)**2 + (z1-z2)**2 ),也就是数学上计算三维空间上两个 点之间的距离 :sqrt 是根号的意思。
生活中坚持快乐的原则不改变,学习工作中踏实上进!`~`
8楼2011-11-19 08:52:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nnipp

金虫 (小有名气)

引用回帖:
8楼: Originally posted by q1036210267 at 2011-11-19 08:52:57:
用fortran 很简单的编程, 就是先把 xyz 文件读入,
例如有两个原子坐标分别为(x1, y1, z1)和 (x2, y2, z2)
用d = sqrt ( (x1- x2)**2 + (y1-y2)**2 + (z1-z2)**2 ),也就是数学上计算三维空间上两个 点之间 ...

非常感谢!
那我就研究研究编一个。
功不唐捐
9楼2011-11-20 18:06:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

q1036210267

木虫 (正式写手)

★ ★ ★ ★
ghcacj(金币+4): 谢谢 2011-11-21 13:02:16
引用回帖:
9楼: Originally posted by nnipp at 2011-11-20 18:06:40:
非常感谢!
那我就研究研究编一个。

首先定义:你要操作的文件名为 1
open(1,file = 你的文件名+格式名)
然后读取数据: read(1,*)
然后对数据进行 操作。  

这中间我省略了很多步骤,你看下Fortran 书,就可以求出距离了。

» 本帖已获得的红花(最新10朵)

生活中坚持快乐的原则不改变,学习工作中踏实上进!`~`
10楼2011-11-20 22:29:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 nnipp 的主题更新
信息提示
请填处理意见