Hefei-NAMD数据提取与工具画图
用XDATCAR取帧、缓存本征值和官方可编辑FSSH绘图模板,将原生输出变成可读CSV与实际图片。
阅读本篇目录
本专题用鸢算科技集群实际计算的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 工具在流程中的位置#
| 工具 | 输入 | 本例输出 |
|---|---|---|
| hefei-namd-extract-xdatcar | 实际XDATCAR | 连续POSCAR快照 |
| 随包nac.py | 用户自己的标准单k WAVECAR | complex128重叠差与本征值 |
| 随包extract.py | 各分支SHPROP/PSICT | 实际布居、量子布居、时间与能量CSV |
| hefei-namd-tools | 已安装可编辑模板 | 复制poen_fssh.py并设置参数 |
| 随包plot.py / uncertainty.py | 自有数值和结构 | 结构、能带、NAC、布居与统计示意 |
2 先提取,再看列名#
完整原生计算后,在包根目录:
bash extract.sh
head -n 3 results/data/Si64-300K-seed11-namd-FSSH-1000-population.csv
head -n 3 results/data/Si64-300K-seed11-energies.csv
CSV使用 elapsed_fs和 original_band125等列名;原始EIGTXT是eV,退相干矩阵是fs,NAC另存1/fs与未除时间的重叠差两个字段,避免混读。
3 实际使用官方FSSH绘图模板#
模板是供用户复制修改的脚本,不是所有体系均可零修改运行:
mkdir my-fssh-plot
cd my-fssh-plot
module load hefei-namd/2024.05.21
hefei-namd-tools --copy poen_fssh.py
head -n 45 poen_fssh.py
本例已完成一条具体分支:从实际WAVECAR提取的32×12缓存本征值 all_en.npy,加四个SHPROP,生成布居加权能量图。这里没有把PROCAR解析分支当成实际用过。
对应模板参数与映射为:nsw=32、nproc=1、Python切片 bmin=0,bmax=12、namdTime=20、potim=0.5;INICON帧号进入Python时减1,时间用 arange×potim,SHPROP先减去首行时间。参考零点用所选第4列,即原始128带时间平均;本例为电子,图例改为平均所选载流子能量,避免沿用默认Hole字样。
随包助手会复制安装模板、应用这些针对本例的参数,再核对画图数组:
cd /path/to/hefei-namd-silicon-practical-wave286
module load hefei-namd/2024.05.21
python plot_tool.py reference my-preview
ls my-preview/figures

颜色代表布居;只在所选能量窗口内解释,不从这张短时间图外推长时冷却或复合率。
4 用统一数值重画全部图#
bash preview.sh
ls preview/figures
python plot.py results/data my-results
python uncertainty.py results/data my-results
python plot_tool.py results/data my-results
前两行重画随包参考数据,后面三行画自己刚运行的后处理结果。随机跳跃每次可能不同,不能要求新MC结果逐点等于参考图;相同参考数据与绘图环境则可重画原图。
5 新体系复用时按顺序改哪些项目#
先定晶胞、电子结构与核轨迹 → 确认连续波函数格式 → 按物理态选择能带窗口 → 检查相位/子空间连续性 → 统一帧号、时间与矩阵约定 → 选传播分支 → 准备有来源的退相干模型 → 增加独立核轨迹与统计长度 → 提取画图。
当前示例没有多k点、SOC、PAW增广重叠、显式光场制备和完整电子–空穴复合建模。需要这些方法时,应先确认分支理论与输入支持,再建立对应实际例,不能仅改一两个参数沿用此单k短时模型。