GPUMD专题

GPUMD 振动态密度与相关时间

振动态密度与相关时间,包含终端命令、完整输入与集群实际算例。

更新于 2026-10-26约 3 分钟阅读按任务与环境选择适用配置
阅读本篇目录

本文使用鸢算科技集群GPUMD 5.9.1实际运行结果。先下载全部实例与绘图脚本并解压,进入gpumd-examples目录。参考结果在cases,新运行放在work;不要在参考目录重复运行,让输出不断追加。

本篇做什么#

用硅的质量加权速度自相关得到振动态密度。

1 准备算例#

python new-case.py 09-dos
cd work/09-dos
ls

附件中已包含结构与势文件,不需要自己输入几百行坐标。若要从自己的结构开始,请先阅读建模与输入文件。

2 查看和修改输入#

compute_dos 5 1000 120的120是最大角频率,不是直接写入120 THz的普通频率。最大普通频率为120/(2π) THz;相关窗口约5 ps。

09-dos / run.in

potential potential.txt
velocity 300
time_step 1
ensemble nvt_nhc 300 300 100
run 10000
ensemble nve
compute_dos 5 1000 120
dump_thermo 100
run 50000

3 提交并检查进度#

sbatch run.sh
squeue -u "$USER"
tail -n 20 run.log

默认脚本用于V100核时队列。P100或套餐用户先运行yskit,选择复制Slurm脚本及匹配的用户类型、GPUMD版本、GPU型号。单进程启动,不要再套mpirun启动多个相同实例。

本例在计算节点执行的命令为:

gpumd > run.log 2>&1

这条命令已经在提交脚本内,平时只需sbatch run.sh。等待任务结束、查看日志,再读取结果。

4 查看结果和本次数据#

dos.out中的频率列按官方定义读取;图中转换为普通频率ν=ω/(2π)。该谱来自有限温度动力学,不能与零温声子色散混为一谈。加长相关窗口能改善频率分辨率,但也需足够采样统计。

head -n 12 dos.out
本次集群算例 实际数值摘要
09-dos 后半程平均温度 (K):301.615;后半程体积 (ų/atom):20.0239

本次dos.out开头的数据(完整文件在附件中):

0.12 0.000290588 0.00136179 3.75787e-05
0.24 0.000768234 0.00163416 0.000411654
0.36 0.00138049 0.00199099 0.000895471
0.48 0.00192096 0.00232194 0.00133057

工具选择与输入格式#

GPUMDkit提供gpumdkit.sh -plt pdos save,需要model.xyz、run.in、dos.out和mvac.out,额外依赖openpyxl导出Excel。共享环境未含此可选包时,使用GPUMDkit配套教程的独立环境方法;本篇plot.py仍可直接绘制频率与DOS,并明确角频率到普通频率的变换。

5 用自己的输出重新画图#

回到附件根目录,加载绘图环境:

cd ../..
module load ase/3.29.0
python plot.py --chapter dos --root work

如果想先查看附件里的参考数据,执行python plot.py --chapter dos。生成的图片在相应根目录的figures中,脚本只读取数据,不修改结果。

振动态密度与相关时间:集群实际输出绘制

换成自己的体系时#

先确认结构、元素和势函数适用范围,再确定温度、边界条件、时间步长与统计长度。随机初速度会使短程数值不同;复现时先比较数量级、趋势、能量稳定性和输出维度。正式研究应做势函数可靠性、尺寸与时间收敛检查。

返回专题导航 · GPUMD官方输入说明

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗