计算化学公社

 找回密码 Forget password
 注册 Register

求助:想通过python脚本把LAMMPS输出的产物文件改为便于作图的excel文件

查看数: 909 | 评论数: 6 | 收藏 Add to favorites 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-9-5 15:22

正文摘要:

本帖最后由 pumpkin111 于 2024-9-5 15:25 编辑 我是用LAMMPS做聚合物热解。因为用的不是reaxff,所以不能直接输出species文件。通过对轨迹文件进行处理,得到的产物文件打开后是这样的: 0 H6C3O1 Ag1 Ag1 Ag1 ...

回复 Reply

pumpkin111 发表于 Post on 2024-9-19 11:03:28
本帖最后由 pumpkin111 于 2024-9-19 11:07 编辑
乐平 发表于 2024-9-6 13:09
你的例子其实比较简单,只需要逐行读取文件的信息成列表。
然后,列表的第一列都是 TimeStep,从列表的第 ...

老师,如果模拟得到的Species文件用excel文件打开是这样的页面,也就是说不是把每一个分子都列出来,而是每一个分子类型后加上该分子类型的数量。
  1. Timestep        6500:        [H]        64        [H][H]        31        [H][O][H]        27        [H][C]([H])[H]        1        [C]        3
  2. Timestep        6600:        [H]        69        [H][H]        32        [H][O][H]        27        [H][C]([H])[H]        1        [H][O]        11
  3. Timestep        6700:        [H]        68        [H][H]        30        [H][O][H]        28        [H][C]([H])[H]        1        [O]        1
  4. Timestep        6800:        [H]        61        [H][H]        32        [H][O][H]        29        [H][C]([H])[H]        2        [O]        1
  5. Timestep        6900:        [H]        59        [H][H]        30        [H][O][H]        28        [H][C]([H])[H]        1        [O]        2
  6. Timestep        7000:        [H]        63        [H][H]        31        [H][O][H]        29        [H][C]([H])[H]        1        [H][O]        5
  7. Timestep        7100:        [H]        61        [H][H]        34        [H][O][H]        27        [H][C]([H])[H]        1        [O]        5
  8. Timestep        7200:        [H]        60        [H][H]        35        [H][O][H]        27        [H][C]([H])[H]        1        [O]        5
  9. Timestep        7300:        [H]        53        [H][H]        37        [H][O][H]        26        [H][C]([H])[H]        1        [O]        4
  10. Timestep        7400:        [H]        61        [H][H]        35        [H][O][H]        26        [O]        5        [H][O]        11
  11. Timestep        7500:        [H]        58        [H][H]        38        [H][O][H]        29        [H][C]([H])[H]        1        [O]        3
  12. Timestep        7600:        [H]        61        [H][H]        36        [H][O][H]        28        [O]        2        [H][O]        10
  13. Timestep        7700:        [H]        69        [H][H]        35        [H][O][H]        26        [H][C]([H])[H]        2        [O]        4
  14. Timestep        7800:        [H][H]        38        [H]        65        [H][O][H]        27        [O]        3        [H][O]        12
  15. Timestep        7900:        [H][H]        41        [H]        61        [H][O][H]        27        [O]        4        [H][O]        11
  16. Timestep        8000:        [H]        70        [H][H]        38        [H][O][H]        28        [O]        5        [H][C]        11
复制代码

那么该如何修改py脚本从而得到希望最终保存的csv文件呢?
pumpkin111 发表于 Post on 2024-9-6 20:42:22
乐平 发表于 2024-9-6 13:09
你的例子其实比较简单,只需要逐行读取文件的信息成列表。
然后,列表的第一列都是 TimeStep,从列表的第 ...

非常感谢大佬,我运行并且得到了想要的结果。真的非常感谢!
乐平 发表于 Post on 2024-9-6 13:09:28
本帖最后由 乐平 于 2024-9-6 13:12 编辑

你的例子其实比较简单,只需要逐行读取文件的信息成列表。
然后,列表的第一列都是 TimeStep,从列表的第二列开始都是需要统计的信息,统计所有的分子数,分子的种类,每种分子的个数。

你希望最终保存的文件可以用 Excel 打开,那么可以保存成 .csv 格式的文件,即用逗号分隔每行的信息。文本文件打开的时候如下:
  1. #TimeStep, No_Molecules, No_Species, H6C3O1, Ag
  2. 1, 65, 2, 1, 64
  3. 2, 65, 2, 1, 64
  4. 3, 65, 2, 1, 64
  5. 4, 65, 2, 1, 64
复制代码


用 Excel 打开的时候如下图所示:



我写的脚本可以指定你的输入文件名(默认是 lammps.dat,你可以改输入文件名)输出的文件名(也可以不指定,默认是 results.csv)

用法如下:
  1. python parse_lammps.py -f 你的输入文件名 -o 你的输出文件名
复制代码


还可以用 -h 来查看帮助,例如:
  1. python parse_lammps.py -h
  2. usage: parse_lammps.py [-h] [-f <LAMMPS file>] [-o <output .csv file>]

  3. Parse lammps file

  4. options:
  5. -h, --help show this help message and exit
  6. -f <LAMMPS file>, --input_filename <LAMMPS file>
  7. The LAMMPS file
  8. -o <output .csv file>, --output_filename <output .csv file>
  9. The csv file
复制代码


另外,关于扩展性。我还测试了一下元素种类更多的情况。比如在你的输入文件里添加了 H2

  1. 0 H6C3O1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 H2 H2 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1
  2. 1 H6C3O1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 H2 H2 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1
  3. 2 H6C3O1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 H2 H2 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1
  4. 3 H6C3O1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 H2 H2 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1
  5. 4 H6C3O1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 H2 H2 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1 Ag1
复制代码


我的脚本同样也适用



parse_lammps.py

1.93 KB, 下载次数 Times of downloads: 9

乐平 发表于 Post on 2024-9-6 09:41:59
本帖最后由 乐平 于 2024-9-6 09:44 编辑

使用 ChatGPT 来辅助编程的关键在于你能否准确描述你的诉求

把你的诉求描述得越详细,步骤越精确,得到的代码才是能执行的。
说得再直白一些,你需要告诉 chatGPT 一步一步如何做,每一步得到什么信息,最终呈现什么效果。
pumpkin111 发表于 Post on 2024-9-5 17:41:02
含光君 发表于 2024-9-5 16:23
一般来说只要把报错拷给chatgpt给他改就好了。报错贴完整,这都没法一眼看出在哪儿报错了。
另外,看上去 ...

报错拷给chatGPT之后,修改后的脚本还是报错,而且是同样的报错。然后这个体系只是拿来做一个示例,看一下脚本能否运行成功
含光君 发表于 Post on 2024-9-5 16:23:31
一般来说只要把报错拷给chatgpt给他改就好了。报错贴完整,这都没法一眼看出在哪儿报错了。
另外,看上去你的体系分子数也没变化呀,没反应力场那成分也不变咯,如果模拟中没有deposit或者remove分子,自己拿第一行数一数不就好了。

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-17 23:58 , Processed in 0.176013 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list