GPUMDkit 扩胞、分组与帧提取
扩胞、分组与帧提取:终端操作、输入输出、集群示例与适用条件。
阅读本篇目录
本篇以集群GPUMDkit 1.5.8为准。下载输入与参考结果,解压进入gpumdkit-examples。所有工具操作在自己的工作副本执行。
module load gpumdkit/1.5.8
gpumdkit.sh -doctor
按什么顺序操作#
extxyz第二行记录晶胞、周期边界和各列含义。扩胞后的原子数等于原子数乘三个重复因子;group从0编号,get_frame从1编号。clean_xyz会去除部分元数据,做训练数据转换前先确认还需要哪些标签。
本章功能与终端入口#
带“→”的是交互菜单:先运行gpumdkit.sh,再逐项输入编号;不是把箭头整行粘进终端。
| 功能 | 命令或菜单 | 输入、输出与关键条件 |
|---|---|---|
| 指定重复数扩胞 | gpumdkit.sh -replicate POSCAR supercell.vasp 2 2 2 |
64原子实例变512原子 |
| 目标原子数扩胞 | gpumdkit.sh -replicate POSCAR supercell.vasp 256 |
自动选接近目标的整数倍超胞;核对实际原子数和形状 |
| 按元素分组 | gpumdkit.sh -addgroup POSCAR Si |
写model.xyz和group列;不是给原子添加电荷 |
| 构型权重 | gpumdkit.sh -addweight train.xyz weighted.xyz 2 |
改变训练构型权重,不改变DFT能量力标签 |
| 提取第N帧 | gpumdkit.sh -get_frame trajectory.xyz 2 |
从1计数,输出frame_2.xyz |
| 提取帧区间 | gpumdkit.sh -frame_range trajectory.xyz 0 0.8 |
按比例截取前80%,输出trajectory_0.00_0.80.xyz |
| 清理extxyz元数据 | gpumdkit.sh -clean_xyz train.xyz clean.xyz |
保留原文件;核对清理后仍需的属性 |
实际操作:replicate#
从附件根目录新建这个示例:
python new-case.py replicate
cd work/replicate
执行以下命令:
gpumdkit.sh -replicate POSCAR supercell.vasp 2 2 2
本次生成的参考文件:supercell.vasp。自己的输出会写在当前work/replicate目录。
本次Si结构从64原子扩为512原子,三个方向各重复2次。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:addgroup#
从附件根目录新建这个示例:
python new-case.py addgroup
cd work/addgroup
执行以下命令:
gpumdkit.sh -addgroup POSCAR Si
本次生成的参考文件:见附件reference/addgroup,其中保留对应结构与输出。自己的输出会写在当前work/addgroup目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:addweight#
从附件根目录新建这个示例:
python new-case.py addweight
cd work/addweight
执行以下命令:
gpumdkit.sh -addweight train.xyz weighted.xyz 2
本次生成的参考文件:见附件reference/addweight,其中保留对应结构与输出。自己的输出会写在当前work/addweight目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:get_frame#
从附件根目录新建这个示例:
python new-case.py get_frame
cd work/get_frame
执行以下命令:
gpumdkit.sh -get_frame trajectory.xyz 2
本次生成的参考文件:见附件reference/get_frame,其中保留对应结构与输出。自己的输出会写在当前work/get_frame目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:clean_xyz#
从附件根目录新建这个示例:
python new-case.py clean_xyz
cd work/clean_xyz
执行以下命令:
gpumdkit.sh -clean_xyz train.xyz clean.xyz
本次生成的参考文件:见附件reference/clean_xyz,其中保留对应结构与输出。自己的输出会写在当前work/clean_xyz目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。
实际操作:frame_range#
从附件根目录新建这个示例:
python new-case.py frame_range
cd work/frame_range
执行以下命令:
gpumdkit.sh -frame_range trajectory.xyz 0 0.8
本次生成的参考文件:见附件reference/frame_range,其中保留对应结构与输出。自己的输出会写在当前work/frame_range目录。
下一例开始前执行cd ../..回到附件根目录;不要把两个例子的输出放在同一目录。