GPUMD专题

GPUMD 石墨烯HNEMD方向与驱动力

用两种石墨烯尺寸、x和y方向、三档驱动力与两组初速度,实际提交HNEMD并比较运行平均、时间窗口和二维厚度。

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

HNEMD在整体结构中施加弱的热流驱动,不需要像直接NEMD那样划分冷热浴。本篇用石墨烯演示完整操作,再比较方向、驱动力和尺寸。短轨迹的曲线与负值如实保留,不能把一次累计平均当成收敛的材料热导率。

1 下载、查看参考结果#

下载石墨烯输入、真实结果与Si长采样参考:

unzip gpumd-graphene-HNEMD-wave228*.zip -d hnemd-example
cd hnemd-example
sha256sum -c MANIFEST.sha256
bash view.sh
ls analysis/figures

view.sh处理已有数据,不提交新计算。reference-graphene中是48组石墨烯结果,reference-Si-20ns保留16条Si长轨迹;新计算放在 cases。

石墨烯实际末帧与独立热流提取

参数 小盒 大盒
矩形单元重复 6×10 12×20
原子数 240 960
x方向长度 25.56 Å 51.12 Å
y方向长度 约24.595 Å 约49.190 Å
z方向盒长 20 Å 20 Å
周期边界 x/y周期,z非周期 x/y周期,z非周期

采用官方 Graphene_Lindsay_2010_modified.txt 势,C–C参考键长1.42 Å。该文件对原Lindsay参数的长度项作过调整,应同时记录势文件来源与改动版本,不与原始未调整版混用。势文件说明

2 准备和提交#

python3 prepare.py
cd cases/p100-graphene-N240-x-F1e-05-s13579
cat config.json
cat job.slurm
sbatch job.slurm
squeue -u "$USER"

模板调用 run_native.py 生成结构与输入,再运行GPUMD。每次使用新目录,不向已有 kappa.out 追加新的轨迹。附件脚本对应GPU核时分区;套餐用户通过 yskit 取得匹配账户和GPU的模板,保留程序启动命令。本批环境为GPUMD5.9.1、GCC13.3、CUDA12.9,一任务一张P100或V100 16G、一个CPU核。

初速度有13579和24680两组种子。每个尺寸分别沿x和y驱动,场强为 1E-5、5E-5、2E-4 Å⁻¹。不同方向需要独立运行,不能把同一轨迹的横向噪声当作另一个纵向热导。

3 完整输入与时间长度#

potential potential.txt
time_step 0.5
minimize fire 0.001 5000
velocity 300 seed 13579
ensemble nvt_nhc 300 300 100
run 50000
ensemble nvt_nhc 300 300 100
compute_hnemd 1000 1e-05 0 0
compute 0 1 1000 jp
dump_thermo 1000
dump_xyz 20000 trajectory.xyz velocity force potential precision double
run 400000

先固定晶胞优化原子,再恒温25 ps,最后采样200 ps;时间步0.5 fs。compute_hnemd每一步读取热流,每1000步平均输出一次,所以 kappa.out 一行对应0.5 ps的平均量,共400行,不是每行1000 ps,也不是整条轨迹的累计平均。

沿y方向时用 compute_hnemd 1000 0 1e-05 0。只保留一个非零驱动分量,才能直接解释这一列张量响应。HNEMD需要移除驱动注入的热量,本例使用Nose–Hoover链恒温器;不要随意替换为会改变动力学的Langevin恒温器。HNEMD参数手册

compute 0 1 1000 jp独立读取势部分热流,采用相同的采样与输出区间,便于对照原生热导。所有原子在第0种分组的同一个组中。输出是体积广延的总热流相关量,不是已经除过体积的热流密度。

4 从五列选择正确分量#

tail -n 10 native.out
head -n 3 kappa.out
head -n 3 compute.out
cd ../..
module load ase/3.29.0
python3 analyze.py --graphs cases --output analysis-new

x方向驱动时,第1+2列相加得到纵向xx响应;y方向驱动时,第3+4列得到纵向yy响应。这里的in/out分解按面内和面外振动贡献区分:它不是两张卡的结果,也不是Si/Ge两种材料的结果。原始五列仍完整保留,先求和再按任务需要分析分量。kappa.out列定义

current-kappa.csv给出时间、原生五列、独立热流重建的三个分量、驱动方向热导、按3.35 Å厚度归一化的热导、二维片层导热量和累计平均。不要把文件最后一行的区间平均当成整条轨迹的平均。

5 看驱动力和时间窗口#

P100小盒的三档驱动力与两个方向

V100大盒的三档驱动力与两个方向

同色两条线为两个初速度种子。弱场信号可能被热流噪声淹没;强场虽然曲线看起来更平滑,却可能偏离线性响应。需要同时比较实际温度、不同场强均值、种子离散和时间窗口,不能只选择“最平滑”的一条。

本例给出25–75、75–125和125–200 ps三个时间窗口。它们来自同一条轨迹,只用于观察随时间变化,不能作为三个独立种子。

下表统一采用125–200 ps窗口、3.35 Å有效厚度,单位W/(m·K)。负数保留为短采样估计,不解释为材料的负热导。

GPU 原子数 方向 Fe(Å⁻¹) 种子13579 种子24680 两种子均值
P100 240 x 1e-05 -6715.4 4203.2 -1256.1
P100 240 x 5e-05 4001.3 1405.5 2703.4
P100 240 x 0.0002 4867.9 3779.8 4323.9
P100 240 y 1e-05 -2548.1 5461.2 1456.5
P100 240 y 5e-05 6176.6 6045.1 6110.8
P100 240 y 0.0002 6206.1 5097.4 5651.8
P100 960 x 1e-05 1270.4 2063.4 1666.9
P100 960 x 5e-05 2990.8 3526.5 3258.7
P100 960 x 0.0002 3222.4 3466.9 3344.6
P100 960 y 1e-05 5980.5 31.6 3006.0
P100 960 y 5e-05 3260.8 2538.5 2899.7
P100 960 y 0.0002 3448.4 3725.3 3586.9
V100 240 x 1e-05 -6715.4 4203.2 -1256.1
V100 240 x 5e-05 4001.3 1405.5 2703.4
V100 240 x 0.0002 4867.9 3779.8 4323.9
V100 240 y 1e-05 -2548.1 5461.2 1456.5
V100 240 y 5e-05 6176.6 6045.1 6110.8
V100 240 y 0.0002 6206.1 5097.4 5651.8
V100 960 x 1e-05 1270.4 2063.4 1666.9
V100 960 x 5e-05 2990.8 3526.5 3258.7
V100 960 x 0.0002 3222.4 3466.9 3344.6
V100 960 y 1e-05 5980.5 31.6 3006.0
V100 960 y 5e-05 3260.8 2538.5 2899.7
V100 960 y 0.0002 3448.4 3725.3 3586.9

这些纳米小盒和200 ps曲线是工作流参考。若不同窗口、种子或方向差异很大,先增加独立采样、延长轨迹,并检查尺寸及驱动力。理想石墨烯面内对称性不等于有限矩形盒、短轨迹的xx和yy数值应当完全相同。

6 二维厚度必须说明#

GPUMD按模拟盒体积归一化;本例z盒长为20 Å,包含真空。按常用3.35 Å有效厚度展示时,要乘 20/3.35,并保留原生列。具体终端计算与独立热流对照见二维厚度和热流单位。

Si的20 ns数据、四种子区间以及强场偏离的例子,统一在HNEMD多种子与统计中查看。Si和石墨烯使用不同势和结构,不能把两者数值差直接解释为方法误差或加速收益。

驱动轨迹中的力与后续训练#

HNEMD施加外部热流驱动,保存的原子力包含驱动项。此类力不能直接作为裸势能面的力标签训练NEP;用于训练时应对选定构型重新进行无该驱动的能量与力标注。结构、速度和带驱动的热流统计仍应按各自用途读取。

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

查看配图

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

100%查看原图 ↗