背景
由于老板要求的合作需要,现根据lammps运行得到的3792个粒子中33个粒子在2500帧的运行过程中的轨迹路径,效果图如下:
步骤
1. 运行lammps,输出所有粒子的xyz坐标(eq2.xyz)
2. 写一个Fortran/Python程序,遍历2500帧中每一帧的3792个粒子的xyz坐标,并赋值给pos
说一下这个程序的思路:
origin中作图:第一列是帧数,第二三四列是第一个粒子在对应帧数下的xyz坐标,第五六七列是第二个粒子在对应帧数下的xyz坐标,以此类推,获得1+3*33=100列数据
程序需要将步骤1里的xyz坐标首先按目标粒子分类,继而将每一帧中目标粒子的坐标放置在一行即可(我这里需要的就是每一帧的pos02的xyz值)
关于如何不换行输出,可以参见这篇帖子:Fortran中write语句中不换行命令
3. 将步骤2中获得的坐标文件进行后处理(Cl.xyz)
① sz Cl.xyz 将目标文件从服务器上下载到本地
② 用notepad++打开目标文件,将第一行的空行删去
③ ctrl+a和ctrl+c 复制所有数据到origin中(第一列空下)
④ 第一列填入1,2,3,4,5,选中后点击右下角黑框即自动补充(这一列代表帧数,也可以不补~)
⑤ 将第二列往后根据xyz性质修改成对应的坐标轴名(这一步比较繁琐,千万别出错)
⑥ 选中从第二列往后的所有数据,绘图-3D-散点图。之后修改颜色、横纵坐标范围、字体字号等即可
⑦ 使用不同颜色的标记,就可以显示出某一个粒子在2500帧内的大致运动轨迹(方向)倾向了