Multiwfn轨道与电子密度
导出水和乙烯的HOMO/LUMO与密度网格,理解相位、单位、网格积分和绘图。
阅读本篇目录
1 先确定轨道序号#
本例水有10电子,闭壳层HOMO为第5轨道、LUMO为第6轨道;乙烯16电子,对应第8、9轨道。换成带电或开壳层体系时,不能直接照搬序号。
读取水的HOMO并生成规则网格:
Multiwfn water.fchk -nt 1 <<'EOF'
5
4
5
5
-8,-8,-8
0.25,0.25,0.25
65,65,65
2
0
q
EOF
第一个 5 是空间网格功能;4 是轨道振幅;随后 5 是轨道序号,再一个 5 选择手动定义网格。原点−8、步长0.25和65点均按Bohr体系定义,终点为−8+(65−1)×0.25=8 Bohr。2 导出 MOvalue.cub,0 返回,q 退出。
LUMO把轨道序号改为6,乙烯则改为8或9。每项在独立目录运行,避免相同的默认cube文件名互相覆盖。1 Bohr≈0.529177Å。

图为y=0平面;红蓝表示轨道相位,不是正负电荷。振幅单位为Bohr⁻³ᐟ²;平方后才是轨道概率密度。分子轨道的整体符号可以反转,物理概率不变。
2 电子密度选择的是另一个函数#
把上面函数 4 换成 1,且不再输入轨道序号:
Multiwfn water.fchk -nt 1 <<'EOF'
5
1
5
-8,-8,-8
0.25,0.25,0.25
65,65,65
2
0
q
EOF
导出 density.cub,单位e/Bohr³。用cube重新读入时,程序显示网格范围、步长、极值及积分:
Multiwfn density.cub -nt 1 <<'EOF'
q
EOF
本例水实际有10电子,但这个便于可视化的65³网格积分为 13.41348 e。原点处恰有氧核,粗网格无法准确积分尖锐芯层密度。保持范围不变,改为步长0.1 Bohr、161³点,积分改善到 10.10431 e,仍不能当作严格电子数。不要为了凑10而把密度强行归一化。

四个轨道的有限网格∫|ψ|²分别为:水HOMO 0.999714、水LUMO 1.012729、乙烯HOMO 0.999876、乙烯LUMO 0.996797。轨道与总电子密度的数值积分要分别检查,不能用一个判断另一个。正式定量使用还需收敛网格间距与盒子大小,尤其注意弥散轨道的尾部。
3 用Gaussian的同一网格检查全电子密度#
保存好 density.cub 后:
cubegen 1 fdensity=scf water.fchk full-density.cub -1 h density.cub
最后一个cube提供完全相同的网格。这里特意用 fdensity=scf:Gaussian cubegen的默认 density=scf 会省略冻结芯层,不能直接与Multiwfn的全电子密度比较。本例同网格全电子数值一致;可视化用的空间积分误差仍然存在。
4 用终端重新绘图#
bash plot.sh
bash plot.sh results/plotdata my-figures
第一条画公开参考数据;第二条画自己完整计算后提取的数据。图片来自原生cube截面,未把轨道正负改成电子密度。
继续操作与资料#
配套脚本的 controls.json 保存每项菜单输入;work/functional/ 是自己计算的原生文件,results/ 是CSV、数值说明与图片。用自己的结果重画:
bash plot.sh results/plotdata my-figures
科学使用请按所用方法引用Multiwfn及原生提示中的论文:原始论文、2024综述。菜单以本集群2026.10.18 noGUI版为例;官方主页与手册、官方快速入门可查其他输入与选项。
Multiwfn入门与文件准备 · Multiwfn轨道与电子密度 · Multiwfn电荷与键级 · Multiwfn静电势与弱相互作用 · Multiwfn电子密度拓扑 · Multiwfn光谱与自然跃迁轨道