Hefei-NAMD专题

Hefei-NAMD原版与DEV输入对照

选择namd、namdk、dish与DEV hfnamd,识别不同文本开关、NSW约定、积分器和输出精度。

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

本专题用鸢算科技集群实际计算的Si64轨迹、128个快照波函数和非绝热动力学,演示从准备文件到读取布居和画图的操作。原版为2024.05.21固定提交b7c8fc5,DEV为2023.03.29固定提交308d694;两者是代码快照日期,不是正式版本标签。原版使用ifort 2021.10 / Intel oneAPI 2023.2,DEV配套Intel MPI 2021.10与MKL 2023.2、AVX512。

下载完整输入、实际数值、8张图与操作脚本,保存为 hefei-namd.zip:

python3 -m zipfile -e hefei-namd.zip .
cd hefei-namd-silicon-practical-wave286
bash preview.sh
ls preview/figures

预览读取已有数值。希望自己运行原生后处理时,依次执行:

bash prepare.sh
bash calculate.sh
bash extract.sh

输入复制到 work/,原生结果也在其中,CSV与独立提取结果在 results/。本包的小型CPU后处理不重新运行VASP;实际DFT输入另放 inputs/DFT-inputs/,新的DFT需要自己的授权程序和势文件,并经Slurm提交。DEV需要支持AVX512的CPU,正式生产请申请相应CPU资源。

1 选程序时先认清分支#

module load hefei-namd/2024.05.21
which namd namdk dish
hefei-namd-tools --help
入口 本例实际操作 要注意
namd 原版FSSH,NELM1000/2000 NSW=32对应31行文本耦合
namdk 原版FSSH的另一实现 本例NSW=31,输出振幅仅4位小数
dish 原版DISH NSW=31,DEPHTIME与LDISH
DEV hfnamd FSSH的Trotter/MKL积分、DISH MPI/AVX512;LCPTXT及ALGO参数

这些是本次实际运行的分支与输入,不表示它们的每个可选参数都可互换。原版已带集群现有的文件/状态兼容修正,程序名称相同不代表可直接换成未经同样处理的其他编译。

2 DEV FSSH的完整输入#

&NAMDPARA
 BMIN=1, BMAX=12
 NSW=31, POTIM=0.5, TEMP=300
 NSAMPLE=4, NAMDTIME=20, NELM=1000, NTRAJ=4000
 LHOLE=.FALSE.
 ALGO="FSSH", ALGO_INT=0, NPAR=1, LCPTXT=.TRUE., LBINOUT=.FALSE.
/

DEV用 LCPTXT=.TRUE.,原版用 LCPEXT=.TRUE.,拼写不能互换。此处 ALGO_INT=0为本例Trotter分支;实际还运行了 ALGO_INT=2的MKL分支,均使用相同自有NATXT。

进入已准备的DEV目录后,用一MPI进程的小例:

cd work/dynamics/Si64-300K-seed11/DEV-FSSH-Trotter
cp ../../../double-NAC/Si64-300K-seed11/NATXT .
cp ../../../double-NAC/Si64-300K-seed11/EIGTXT .
module load hefei-namd/dev-2023.03.29
mpiexec -np 1 hfnamd > native.log 2>&1
ls SHPROP.* PSICT.*

正式运行应先分配支持AVX512的CPU资源,再按规模安排MPI进程数与NPAR。前置VASP在GPU节点完成,不表示DEV二进制能在任意GPU主机的CPU上执行。包内完整复跑脚本显式选择匹配Intel MPI和DEV程序路径,避免混用其他MPI。

3 DEV DISH只换方法仍需检查输入#

&NAMDPARA
 BMIN=1, BMAX=12
 NSW=31, POTIM=0.5, TEMP=300
 NSAMPLE=4, NAMDTIME=20, NELM=100, NTRAJ=128
 LHOLE=.FALSE.
 ALGO="DISH", ALGO_INT=0, NPAR=1, LCPTXT=.TRUE., LBINOUT=.FALSE.
/

DEPHTIME、EIGTXT、NATXT、INICON仍需保持同一能带/时间约定。不能把原版 LDISH开关直接当成DEV的方法选择方式。

4 输出格式为何不能共用一个简单split#

原版namd的PSICT为带括号复数;namdk的一个时刻可能跨两条物理记录、振幅4位小数;DEV为6位小数的复数字符串。下载包提取器按分支解析,不通过肉眼补行或删除负号。

namdk本例打印振幅得到的最大范数偏差约1.51×10⁻⁴,四位小数舍入足以影响这个量级。因此它只作当前输出精度内的结果读取,不拿它替代严格量子积分参照。namd与DEV按各自输出精度核对了范数和平均能量;用户需要更高精度时应先选输出精度足够的分支,而不是事后把数值强制归一化。

cd /path/to/hefei-namd-silicon-practical-wave286
bash extract.sh
ls results/data/*DEV*population.csv

把示例路径改成自己实际解压目录。提取器保留各分支文件原样,并另写带原始能带列名的CSV。

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

查看配图

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

100%查看原图 ↗