GPUMD NVE 温度与输运归一化
区分 NVT 目标、NVE 实际温度与原生热导/黏度分母,用真实 Si 和 LJ 数据说明归一化的作用与边界。
阅读本篇目录
NVT 目标温度、NVE 实际平均温度、输运公式中的温度分母,需要分别看清。本篇接EMD 热流相关与积分,也适用于理解本系列黏度实例中的原生分母。
下载真实输入、温度、原生输出与独立换算程序。图表来自已发布 1 ns Si 轨迹和新短例;LJ 两个温度例子复用前一批数据,没有新增采样。
1 先查看 NVE 的实际温度#
本例输入先在 300 K 做 NVT,再切到 NVE:
ensemble nvt_nhc 300 300 100
run 50000
ensemble nve
compute_hac 10 1000 1
dump_thermo 100
run 200000
NVE 中没有恒温器继续把温度拉回 300 K。平衡结束时的总能量决定随后 NVE 的平均状态,温度会围绕自己的平均值波动。
在本例生产目录读取 thermo.out:
head thermo.out
awk '!/^#/ && NF {s+=$1;n++} END {printf "%.8f\n",s/n}' thermo.out
这组输入只在生产段开启 dump_thermo,因此上述命令计算生产段均值;如果自己的文件混有 NVT 与 NVE,先分清各段,不能直接平均整个文件。
新 Si512 短例的平均温度约为 312.53255 K,目标设置是 300 K。已有四种子数据中,Si512 各条 NVE 平均约为 286.86–312.51 K,Si1728 约为 296.01–306.83 K。

这里讨论的是原子运动温度;不要与电子温度势模型的标签温度混用。
2 原生输运分母使用什么温度#
当前 GPUMD 5.9.1 的 EMD 与黏度原生后处理沿用前一个恒温阶段的目标温度。本例为:
EMD 原生分母:kB × 300² × V
LJ 黏度原生分母:kB × 100 × V
原生文件照常保留,它们的值没有被本教程覆盖。实际温度与目标温度有差别时,应把数值对应的温度与归一化约定说清楚。
3 同一条轨迹,怎样改用实际平均温度作分母#
对固定体积、同一组相关数据:
kappa_actualT_denominator = kappa_native × (Ttarget / Tmean)²
eta_actualT_denominator = eta_native × (Ttarget / Tmean)
热导分母含温度平方,黏度只含一次方,不能把二者混用。
对于新 Si512 短例:
Ttarget = 300 K
Tmean = 312.53255465 K
热导分母换算因子约为 0.921408
约 4.2% 的温度差,对热导分母带来约 7.9% 的数值变化。因此材料比较不能只看输入写了 300 就认为实际采样温度完全相同。
配套脚本同时输出两列:
bash view.sh
head analysis/p100-Si512-fine-HAC-temperature-normalization.csv
head analysis/temperature-normalization-summary.csv
第一列结果保留原生分母,另一列使用同一条轨迹的实际平均温度,文件名和表头均区分两者。
4 改分母不会改变轨迹的温度#
这是最需要区分的一点:对 312.53 K 的采样改用实际温度分母,不会把构型、速度和热流变成 300 K 的采样。
若目标是研究 300 K 性质,应先通过平衡和初始总能量准备,使 NVE 平均温度接近所需温度;继续检查温度、总能量、轨迹长度和重复条件。已有数据的分母换算只能修正同一实际状态的归一化,不能替代重新准备合适的物理状态。
不同种子的实际温度也可能不同。按各条轨迹分别处理后再比较,同时报告实际温度范围;不能用一个合并平均温度把四条不同状态强行变成一个精确温度点。
5 黏度的真实例子#
下面只取上一批各一条 LJ 轨迹的 1–3 ps 窗口,单位 mPa·s;它们不是四种子汇总表:
| 实际轨迹 | NVE 均温 / K | 原生 100 K 分母 | 同一轨迹的实际温度分母 |
|---|---|---|---|
| P100,Ar108,种子 13579 | 101.75334 | 0.278586 | 0.273786 |
| V100 16G,Ar256,种子 13579 | 93.55449 | 0.192327 | 0.205578 |
读取配套上下文:
head analysis/LJ-temperature-normalization-context.csv
这里使用 100/Tmean 的一次方。第二行得到的是对约 93.55 K 实际采样重新归一化后的窗口值,不能改名成“已修正到 100 K 的黏度”。
这一处理也不会消除短轨迹噪声;多种子、相关窗口和尺寸仍按黏度统计教程继续检查。
6 一个实用操作顺序#
- 核对输入中的目标温度和恒温方法。
- 把平衡与生产输出分清,读取 NVE 实际温度和总能量。
- 看清原生热导或黏度所采用的温度分母。
- 保留原生结果,另存按实际温度分母处理的数据。
- 报告实际温度、模型、尺寸、采样长度与统计窗口,再讨论性质。
本篇只解决温度与分母的解释。它不提供收敛材料热导或黏度,也不把简单乘因子称作温度重加权。