Multiwfn:Becke模糊空间积分与原子电荷
对水分子的总电子密度进行原生空间积分,核对电子守恒和电荷,配合结构图解释结果。
阅读本篇目录
下载Multiwfn轨道与分子性质示例包,保存为example.zip:
python3 -m zipfile -e example.zip .
cd multiwfn-orbital-property-examples
bash results.sh
bash read.sh
bash plot.sh
本例使用集群Multiwfn2026.10.18 noGUI,程序自带预编译CPU二进制;水和乙烯波函数来自实际Gaussian16C.01的B3LYP/6-31+G(d)计算,输入与数值波函数随包提供。这里复用已有波函数,不需要重新做Gaussian计算。完整重算13个短后处理条件可用sbatch run.slurm,结束后bash read.sh work analysis-new读取新结果,bash plot.sh analysis-new figures-new绘图。CPU模板按规则申请56核,程序每次只用1线程;这不是56核性能测试。
手动交互的程序路径为:
source /etc/profile.d/lmod.sh
module load multiwfn_nogui/2026.10.18
multiwfn_bin=/public/software/multiwfn_nogui/2026.10.18/Multiwfn_noGUI
下面列出的交互数字对应这个版本,换版本时先看屏幕上的菜单文字。批量运行时给每个任务独立工作目录,避免new.fch等同名输出互相覆盖。
1. 将总电子密度分配到原子空间#
Becke模糊空间分区以平滑权重划分整个空间,对电子密度积分得到原子电子数。它和轨道成分分析不同:这里积分的是总电子密度,而非单个MO的贡献百分比。
"$multiwfn_bin" inputs/water.fchk -nt 1
实际交互:
15
1
1
0
q
15进入模糊原子空间分析,1计算实空间函数积分,接着1选择电子密度,0返回主菜单后退出。采用当前版本默认的Becke分区与积分设置;换版本或更复杂体系时应检查屏幕显示的函数和网格。
2. 从电子数得到电荷#
q_A = Z_A − N_A。本例结果:
| 原子 | 积分电子数 | 电荷/e |
|---|---|---|
| O | 8.65924479 | −0.65924479 |
| H2 | 0.67037732 | +0.32962268 |
| H3 | 0.67037732 | +0.32962268 |

总电子数为9.99999944,接近输入的10;总电荷接近0,两个等价H一致。这个检查比仅看到“程序退出”更有帮助。正式分析还要检查网格、分区方法和输入波函数质量。
3. 保存日志与读取表格#
mkdir Becke-density
cd Becke-density
"$multiwfn_bin" ../inputs/water.fchk -nt 1 < ../commands/water-Becke-density.txt > density.log
# 返回示例根目录
cd ..
cat data/Becke-electrons-charges.csv
完整提交脚本会在独立工作目录执行这组命令。bash read.sh work analysis-new会重新读取程序输出、合计原子电子数和总电荷。不要将Becke电荷直接当作氧化态,也不要和Mulliken、Hirshfeld、Bader电荷混用来比较趋势。不同分区定义反映不同的电子归属约定。
电子数与电荷CSV可以自行画柱状图,示例的plot.py也包含完整结构标注。