LAMMPS 专题

LAMMPS eFF径向动力学与能量读取

实际积分电子宽度与径向速度,区分内部量子动能、径向运动动能、温度自由度及两个可选势开关。

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

eFF的电子宽度是一个独立运动自由度。使用常规原子积分器或只读普通热力学列,容易漏掉这部分运动。本篇实际运行两个时间步,展示怎样读取完整模型能量。

下载两篇共用的完整输入、实算数据和绘图包。先按共用运行步骤运行一次。本篇仍是核与电子中心不动的单Gaussian氢模型,不包含多电子Pauli或ECP的应用实例。

1. 完整径向NVE输入#

cat inputs/radial-NVE/input.lammps
head -n 12 inputs/radial-NVE/atoms.dump
units electron
atom_style electron
atom_modify map array
boundary p p p
newton on
read_data hydrogen.data
pair_style eff/cut 20.0 
pair_coeff * *
comm_modify vel yes
compute components all pair eff/cut
compute packet all property/atom espin eradius ervel erforce
compute effectiveT all temp/eff
compute effectiveP all pressure effectiveT
compute kinetic all ke/eff
thermo 1
thermo_style custom step time pe ke etotal temp press c_components[1] c_components[2] c_components[3] c_components[4] c_kinetic
thermo_modify norm no temp effectiveT press effectiveP format float %.17g
fix integrator all nve/eff
timestep 0.0001
dump trajectory all custom 1 atoms.dump id type q x y z vx vy vz fx fy fz c_packet[*]
dump_modify trajectory sort id format float %.17g
run 500
write_dump all custom final.dump id type q x y z vx vy vz fx fy fz c_packet[*] modify sort id format float %.17g
write_data final.data nocoeff

fix integrator all nve/eff既更新常规位置与速度,也更新电子半径与径向速度。初始s=1.5、径向速度0;因为它不是解析最优宽度,电子包会发生径向变化。两档均运行0.05 fs,不把这个很短的模型轨迹当成实际原子的光激发或材料电子动力学。

2. 两种“动能”不要重复或遗漏#

Gaussian内部项 3/(2s²)已经包含在eFF有效势PE中;电子宽度的运动动能则属于 compute kinetic all ke/eff。因此本例完整模型能量是 PE + ke/eff,不能再将内部Gaussian项额外加一次。

独立检查时,径向动能按 0.5×mvv2e×(3/4)×mElectron×径向速度² 计算,另加存在的平动动能;本构建electron单位的 mvv2e=1.06657236。脚本使用全部原子和全部保存帧核对这个值。

3. 为什么常规温度与KinEng显示0#

temp/eff的默认温度口径按核的平动自由度计数。这个模型只有一个核,扣除质心平动后自由度为0,因此日志的Temp、由它得到的普通KinEng为0,常规TotEng不能代表完整径向模型总能。不要靠人为改自由度给孤立单原子制造一个有热力学意义的温度。

实际径向运动动能非零,使用上面的 ke/eff 和完整径向速度判断。该结论针对这个单核模型,不表示一般多核eFF任务的温度都为0。

原生径向变化、完整能量分项和时间步误差

时间步/fs 步数 PE+ke/eff最大能量变化/Hartree
0.00010 500 6.4030e-08
0.00005 1000 1.5915e-08

步长减半后误差约降为四分之一。本例的短轨迹和单粒子解析检查用于熟悉操作,不是通用推荐时间步;较高能量或多电子体系应重新检查稳定性。

4. 压力口径与半径限幅两个开关#

cat inputs/pressure-radial/input.lammps
cat inputs/broad-limited/input.lammps

pressure/evirials把宽度自由度的virial计入压力。在s=1.5的静态条件下,默认值为0,启用后约 2642862.453 Pa;可由 s×径向力/(3V) 乘electron单位压力换算独立重建。这是单粒子真空盒的模型口径比较,不是材料压力预测。

limit/eradius在宽度超过周期盒最小边长一半后加谐惩罚,不是硬截断。本例盒边100 Bohr,给定宽度60 Bohr时,额外势为 0.5×(60−50)²=50 Hartree,额外径向力为−10 Hartree/Bohr;原生单点中的宽度仍为60。这个条件专门说明开关行为,宽波包超出盒长的设置不用于孤立原子物性。

5. 只重新提取和画图#

module load sisl/0.16.4
python analyze.py
python plot.py

这一步不再计算原生轨迹。检查自己的eFF任务时,先分清粒子角色、宽度/径向速度、有效势分项、运动动能和压力口径,再考虑更长轨迹、材料参数或多电子应用。参考:径向积分器、完整eFF动能。

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

查看配图

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

100%查看原图 ↗