计算化学公社

标题: ASE生成的轨迹VMD能读取吗 [打印本页]

作者
Author:
cuihongqiang    时间: 2022-4-27 21:13
标题: ASE生成的轨迹VMD能读取吗
ASE生成的轨迹VMD能读取吗

作者
Author:
卡开发发    时间: 2022-4-27 22:37
对于大部分共同支持的格式都是没问题的。
作者
Author:
sobereva    时间: 2022-4-28 06:01
诸如xyz这种常见的轨迹格式显然VMD能读取
作者
Author:
ghifi37    时间: 2022-4-28 08:39
ASE直接生成traj文件,可以转换为xyz
作者
Author:
cuihongqiang    时间: 2022-4-28 10:52
ghifi37 发表于 2022-4-28 08:39
ASE直接生成traj文件,可以转换为xyz

想问下怎么转化,官网找到write_xyz,但没成功写出
作者
Author:
ghifi37    时间: 2022-4-28 11:38
cuihongqiang 发表于 2022-4-28 10:52
想问下怎么转化,官网找到write_xyz,但没成功写出

遍历traj中的结构,都写到同一个xyz文件中即可
作者
Author:
cuihongqiang    时间: 2022-4-28 13:55
ghifi37 发表于 2022-4-28 11:38
遍历traj中的结构,都写到同一个xyz文件中即可

输入文件
import ase
import ase.io
import ase.optimize
import ase.md.velocitydistribution
import ase.md.verlet
import os
from neurochem_calculator import NeuroChem, path, calc
from ase.io.trajectory import Trajectory
from ase.io.trajectory import TrajectoryReader
from ase.io import trajectory
from ase.io import xyz
import pickle
a=TrajectoryReader('benzene.traj')
write('./benzene.xyz',a)
输出错误
Traceback (most recent call last):
  File "traj.py", line 13, in <module>
    a=TrajectoryReader('benzene.traj')
  File "/home/cuihongqiang/.local/lib/python3.6/site-packages/ase/io/trajectory.py", line 225, in __init__
    self._open(filename)
  File "/home/cuihongqiang/.local/lib/python3.6/site-packages/ase/io/trajectory.py", line 235, in _open
    self.backend = ulm.open(filename, 'r')
  File "/home/cuihongqiang/.local/lib/python3.6/site-packages/ase/io/ulm.py", line 156, in open
    return Reader(filename, index or 0)
  File "/home/cuihongqiang/.local/lib/python3.6/site-packages/ase/io/ulm.py", line 484, in __init__
    self._offsets) = read_header(fd)
  File "/home/cuihongqiang/.local/lib/python3.6/site-packages/ase/io/ulm.py", line 458, in read_header
    raise InvalidULMFileError('This is not an ULM formatted file.')
ase.io.ulm.InvalidULMFileError: This is not an ULM formatted file.
请问这个是什么问题
作者
Author:
ghifi37    时间: 2022-4-28 21:35
cuihongqiang 发表于 2022-4-28 13:55
输入文件
import ase
import ase.io

试试:
from ase.io.trajectory import Trajectory
traj = Trajectory(trajfile, mode = 'r')
for i in traj:
    i.write(filename, append=True)            

作者
Author:
cuihongqiang    时间: 2022-5-6 21:50
ghifi37 发表于 2022-4-28 21:35
试试:
from ase.io.trajectory import Trajectory
traj = Trajectory(trajfile, mode = 'r')

谢谢,好久没上线了,问题之前已经解决了,莫名其妙的解决了,我都不记得加的啥设置了




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