ABACUS与Hefei-NAMD:电子布居传播
从实际ABACUS非绝热耦合出发,准备FSSH输入、选择能带、检查电子子步并画布居。
阅读本篇目录
本页接着ABACUS波函数与NAC教程,使用同一批真实耦合文件调用集群原版Hefei-NAMD,得到电子振幅和随机跃迁布居。核轨迹和DFT结果直接复用,不重新计算。
unzip abacus-namd-wave699-*.zip
cd abacus-namd
bash results.sh
bash plot.sh
1. 文件与能带如何对应#
原生NAC输出目录有:
| 文件 | 含义 |
|---|---|
NATXT |
14段相邻重叠差,每段4×4 |
EIGTXT |
15帧、第5–8带的能级/eV |
INICON |
两个初始帧号及初始全局能带 |
bandrange.dat |
全局带窗5至8 |
INICON为:
2 8
3 8
即分别从核轨迹第2、第3帧出发,把电子放到全局第8带。它们是同一短核轨迹上相邻的两个初始时刻,不是两条独立热平衡轨迹。
2. 准备原版Hefei-NAMD输入#
环境为集群hefei-namd/2024.05.21,原版ifort2021.10/Intel oneAPI2023.2串行程序。下面是较细电子子步的完整inp:
&NAMDPARA
BMIN=5, BMAX=8, NBANDS=8
NSW=15, POTIM=0.25, TEMP=300
NSAMPLE=2, NAMDTIME=12, NELM=4000, NTRAJ=2000
LHOLE=.FALSE., LSHP=.TRUE., LCPEXT=.TRUE.
RUNDIR="."
/
BMIN/BMAX沿用全局第5–8带,NBANDS=8是原始DFT的总带数。初始态也使用全局编号8,不能把它误改成局部第4带后仍保留全局带窗。
POTIM=0.25单位fs,应与ABACUS输出快照间隔一致。原版namd按NSW-1读取耦合,这里NSW=15配合14行NATXT。LCPEXT=.TRUE.使用文本输入;本安装版还需要空的COUPCAR占位文件,脚本会准备。
NELM是每个核时间间隔中的电子子步数。NTRAJ=2000是每个初始时刻的随机跃迁轨迹数,不是2000条DFT轨迹。NAMDTIME=12包含初始输出,共12个时刻,传播时间跨度2.75fs。
3. 提交或分步运行#
bash prepare.sh
sbatch postprocess.slurm
在已分配的计算资源中,也可分步操作:
bash nac.sh
bash dynamics.sh
若前一篇已运行过nac.sh,只执行dynamics.sh。配套脚本使用新目录,重复处理请重新解压,避免覆盖已有结果。
dynamics.sh分别运行NELM=2000与4000,再生成自己的CSV;不会启动ABACUS。
cat analysis/H2O-dynamics-summary.csv
ls dynamics/FSSH-4000
4. 看懂PSICT与SHPROP#
PSICT.2/.3包含电子波函数的复振幅;每条带的量子布居为|c|²。SHPROP.2/.3是随机跃迁的状态比例,两者有限采样时不必逐点相等。

图中用1−第8带布居突出较小的转移量。较细子步下,两个初态最终转出原带的量子比例约0.00146和0.00143;每个初态的随机跃迁结果及其条件性误差都在CSV中保留,不把它等同于长时间弛豫。
cat analysis/H2O-populations.csv
使用time_since_initial_fs画横轴。原生输出的时间标记在不同初始样本间可能重置,配套表格另列已知核初始时刻加传播时间的time_absolute_fs,不要把显示时间直接当成完整核轨迹绝对时间。
误差条采用固定核路径下2000次随机跃迁的二项标准误差,仅描述这次随机抽样;不能代表独立核构型、温度或不同初始速度的统计误差。
5. 换成自己的体系#
首先检查DFT电子收敛和波函数归一化,然后核对带窗、初始电子/空穴、相位、NATXT单位与POTIM。电子传播子步需要独立加密,不能只看程序正常结束。这里保留原始波函数范数,没有通过事后归一化让结果看起来更好。
本例是短分子模型中的非绝热电子态传播,不含光场吸收、激子、多粒子复合或辐射发射。涉及价带到达统计时,继续读激发初态与复合统计边界。