Hefei-NAMD专题

Hefei-NAMD:H₂ 偏振、失谐与电子步长

对比六组实际传播结果,说明时间列、电子子步、输入网格与独立积分的终端操作。

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

接续H₂ 跃迁偶极与光场驱动,本篇介绍怎样比较偏振、光子能量与传播步长。结构、RHF 轨道和有效单电子模型保持一致;不增加核运动或表面跳跃。

1. 同一份算例,六种条件#

下载完整算例,在解压后的 hefei-H2-abinitio-dipole/ 中:

module load ase/3.29.0
bash read.sh
bash plot.sh
cat analysis-read/H2-abinitio-driven-summary.csv
目录 耦合输入间隔 fs NELM 电子子步 fs 光子能量 eV 末态高轨道布居
parallel 0.002 8 0.00025 34.005997 0.203300
parallel-half-electron 0.002 16 0.000125 34.005997 0.203308
parallel-half-input 0.001 4 0.00025 34.005997 0.203551
perpendicular 0.002 4 0.0005 34.005997 0
field-off 0.002 4 0.0005 34.005997 0
detuned 0.002 4 0.0005 27.204798 输出精度下为 0

失谐组演化过程中峰值约 0.000017,不是整条曲线恒为零。横向电场作用于 x 方向,但本例 x01=0,因此没有该两轨道之间的耦合。不能据此推广为任意分子或任意激发态的普遍偏振规律。

实际六组传播、独立积分与步长对照

2. 直接检查输入,分清两种步长#

grep -E 'POTIM|NAMDTIME|NELM' inputs/parallel/inp
grep -E 'POTIM|NAMDTIME|NELM' inputs/parallel-half-electron/inp
grep -E 'POTIM|NAMDTIME|NELM' inputs/parallel-half-input/inp
wc -l inputs/parallel/NATXT inputs/parallel-half-input/NATXT

POTIM 在本例是提供给传播器的耦合采样间隔;没有真实核运动轨迹,因此不要称为本例的离子运动步长。POTIM/NELM 才是电子积分子步。

第一组与第二组共用相同 NATXT/EIGTXT,只增加 NELM,检验电子积分;第三组重新以 0.001 fs 采样耦合,检验输入网格。网格减半时必须同步更新 NSW、NAMDTIME 以及 NATXT 的 2*POTIM 缩放,不能只改 INCAR 风格的一个标签。

本例 NELM 8/16 的整条布居最大差 8×10⁻⁶;输入采样间隔减半的最大差 0.000252。这两种差异来源不同,应分别比较。

3. 读取原生输出时,不要直接拿打印时间做差#

head -8 reference-results/parallel/POPRT.2
head -5 data/H2-abinitio-driven-populations.csv

原生时间列只打印两位小数,而本例采样 0.002 fs,多行会显示相同时间;这不表示程序停住或没有推进。读取器用输出行索引乘以输入间隔,得到 0–40 fs。初始输出行代表初态,不能因为打印值向前偏一个步长而把整条轨迹错移。

POPRT.2 的后两列是两个局部能级的布居,和应为 1;不要把前两列当成布居求和。PSICT.2 保存相应复振幅信息,原文件随包提供。

4. 独立积分怎么做#

参考包已有同一哈密顿量的全时域独立积分,采用 SciPy DOP853,在相互作用绘景中解完整双态方程,没有使用旋波近似。绝对/相对容差为 1E-12/1E-10,最大积分步 0.001 fs;与原生基准整条布居最大差 1.09684×10⁻⁵。

cat reference-results/independent-reference.json
head -5 reference-results/independent-parallel.csv

读取器先检查能量和耦合文件 SHA256,只有完全相同的哈密顿量才复用该参考。如果改变场或结构,应在新的工作目录中重新积分:

module load ase/3.29.0
python3 independent.py work-new
bash read.sh work-new analysis-new

independent.py 在 work-new/ 生成自己的参考文件,不覆盖包内参考。六组条件的独立性应保持:改基准时,同时修改对应的半步长与控制组。不要通过放宽误差要求代替电子步长收敛。

5. 要改成自己的分子,先做哪些操作#

先在 quantum.py 修改结构、基组和选取的轨道,再在 CPU 作业环境运行 bash setup-quantum.sh。当前生成器针对 H₂ 的两个轨道设计;多原子、多轨道体系需要相应扩展能级窗口、位置矩阵和独立方程维度,不能直接把 H₂ 的两个数值移植过去。

在当前 H₂ 模型中,若只修改场强或光子能量,可编辑 quantum.py 中对应条件;它会在 quantum-new/ 重新计算并生成完整输入。在算例根目录提交该目录:

cp compute.py quantum-new/
sbatch --chdir "$PWD/quantum-new" "$PWD/run.slurm"
# 作业完成后
python3 independent.py quantum-new
bash read.sh quantum-new analysis-read
bash plot.sh

绘图中的轨道截面来自本篇原始 H₂ 参考,修改结构或基组后需重新评估 AO 网格再画轨道图;布居图则读取刚生成的 analysis-read/。本篇不把轨道能隙当作精确多体激发能,不用这条 40 fs 受驱动曲线拟合载流子复合寿命。

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

查看配图

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

100%查看原图 ↗