计算化学公社

 找回密码 Forget password
 注册 Register
Views: 368|回复 Reply: 4
打印 Print 上一主题 Last thread 下一主题 Next thread

[VMD] 求助:VMD如何合并两个data文件

[复制链接 Copy URL]

23

帖子

0

威望

100

eV
积分
123

Level 2 能力者

我想要将导入的两个data文件合并为一个data文件导出  请问这个如何实现呢
(PS:开始我尝试了使用了LAMMPS的readdata命令  但是因为两部分分别弛豫过合在一起就会有原子从边界穿越  想问一下大家通常是怎样把两部分弛豫过的data文件合并的呢)

202503191143543450..png (316.48 KB, 下载次数 Times of downloads: 6)

202503191143543450..png

365

帖子

5

威望

3866

eV
积分
4331

Level 6 (一方通行)

Nerv

2#
发表于 Post on 2025-3-19 13:36:00 | 只看该作者 Only view this author
本帖最后由 Lacrimosa 于 2025-3-19 13:37 编辑

VMD tkconsole里输入
::TopoTools::mergemols [list 0 1]
topo writelammpsdata out.data full


合并前确保不同结构间保持足够的距离,避免有原子重叠
God's in his heaven,all is right with the world

23

帖子

0

威望

100

eV
积分
123

Level 2 能力者

3#
 楼主 Author| 发表于 Post on 2025-3-19 14:36:15 | 只看该作者 Only view this author
Lacrimosa 发表于 2025-3-19 13:36
VMD tkconsole里输入
::TopoTools::mergemols
topo writelammpsdata out.data full

非常感谢 刚刚试了一下确实可以实现  但我还有个问题就是这样导出的data文件里面缺失的部分应该用什么方式补全呢

365

帖子

5

威望

3866

eV
积分
4331

Level 6 (一方通行)

Nerv

4#
发表于 Post on 2025-3-19 20:19:59 | 只看该作者 Only view this author
yyyyya 发表于 2025-3-19 14:36
非常感谢 刚刚试了一下确实可以实现  但我还有个问题就是这样导出的data文件里面缺失的部分应该用什么方 ...

你是指成键关系之类的参数么?那些好像确实会缺失。可以用topo addbond一类的命令添加,具体怎么用输入topo就会返回命令手册。

如果觉得重写成键关系太麻烦也可以直接用lammps把data文件组合起来(感觉这个方法也挺折腾的,要是有像gmx那种itp文件就好多了)
这里提供个例子
in文件:
units real
atom_style full

pair_style      lj/class2/coul/long 10
bond_style      class2
angle_style     class2
dihedral_style  class2
improper_style  class2

kspace_style    pppm 1e-4

read_data C6.data extra/atom/types 5 &
        extra/bond/types 8 &
        extra/angle/types 15 &
        extra/dihedral/types 19 &
        extra/improper/types 12 &
        extra/bond/per/atom 4 &
        extra/angle/per/atom 6 &
        extra/dihedral/per/atom 12 &
        extra/improper/per/atom 6 &
        extra/special/per/atom 16
read_data C7O.data add append offset 3 4 7 7 6 shift 0.0 0.0 50.0
write_data out.data

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
Graphite + 2 熟练地让人心疼

查看全部评分 View all ratings

God's in his heaven,all is right with the world

395

帖子

8

威望

3910

eV
积分
4465

Level 6 (一方通行)

石墨

5#
发表于 Post on 2025-3-21 13:46:22 | 只看该作者 Only view this author
本帖最后由 Graphite 于 2025-3-21 13:47 编辑

lammps搞多个子体系的data确实很恼人,如果直接手搓,精神一旦不集中就容易类型、序号之类的有疏漏。

要保留拓扑,要么用楼上read_data + append的方式,要么也可以转换为molecule template(.txt文件),然后设置空盒子再手动用molcule相关语句填这两个体系

当然我后来是直接用cursor生成了个脚本专门用来merge体系的,上下文给两个小data文件,然后提示词比如“根据lammps data文件的结构和逻辑,生成一个用于合并体系的python脚本,实现以下功能:1、保留所有原始类型、拓扑连接性信息,2.对类型序号和原子(键、键角等)序号进行重排,3.允许对各体系进行平移操作,4.考虑用面向对象思维操作data文件,最终实现封装成单一函数,5.if __name__ == "__main__"入口中用argparse实现命令行入口。”
自在飞花轻似梦,无边丝雨细如愁。

全自动反应动力学(ReaxFF、AIMD、NEP等)后处理工具网页版:http://cc-portal.xyz/reax_tools

本版积分规则 Credits rule

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

GMT+8, 2025-8-15 01:03 , Processed in 0.155151 second(s), 24 queries , Gzip On.

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