Gaussian 电子密度、静电势与网格
真实水分子的价电子/完整密度、电子数积分、静电势和任意点采样,明确坐标与密度单位。
阅读本篇目录
本篇使用鸢算科技集群实际 Gaussian 16 C.01 AVX CPU 工具和我们实际计算的水、乙醇参考结果。Gaussian 为厂商预编译版本,使用个人初始化环境;分析脚本使用现有 ASE 3.29、NumPy、SciPy 与 Matplotlib 环境。
下载完整终端脚本、实际数值、结构、cube与绘图程序,在新解压目录先查看结果:
bash run.sh
这一步无需 Gaussian,输出 analysis/ 和 figures/,拒绝覆盖旧结果。results/ 有实际数值摘录和生成的网格,没有 Gaussian 软件、二进制检查点、完整FCHK、MO系数或密度矩阵。
原生重跑时,先 yskit gaussian-init 初始化自己的 Gaussian 环境,再在已分配 CPU 的作业中执行 bash run.sh compute。它先重建自己的水单点、乙醇优化/频率检查点,再运行工具。每个参考输入1线程、1GB主机内存;采用整节点模板时按实际分配调整输入。不要在客户登录终端启动正式任务。提交方法见Gaussian输入与检查点。
1. 从自己的完整FCHK生成网格#
先完成Gaussian计算和 formchk,进入保存完整 water.fchk 的目录。在包的原生重跑结果中,该目录是 work/tools/。
cubegen 1 Density=SCF water.fchk my-valence.cube -3 h
cubegen 1 FDensity=SCF water.fchk my-full.cube -3 h
cubegen 1 Potential=SCF water.fchk my-potential.cube -2 h
开头的1指定本例工具使用1个共享内存处理器;h 写入cube头部。当前测试的 -2、-3、-4 分别对应粗、中、细采样,正数160则要求对应的自动网格设置。实际点数、范围与步长以生成文件头为准,不能只凭参数名猜测盒子完全相同。
head -n 9 my-full.cube
head analysis/density-integrals.csv
2. Density与FDensity不要混用#
本例量子计算为10电子的全电子水分子,没有使用ECP。但 C.01 的 Density=SCF 导出时省去冻结芯层,本例为8个价电子;FDensity=SCF 则包含全部10个电子。原SCF并没有因此变成8电子计算。
同样要区分 Alpha=SCF、Beta=SCF 和完整的 FAlpha=SCF、FBeta=SCF。本例闭壳层在相同范围下满足 alpha=beta、总密度=alpha+beta,Spin=SCF 为零。
图中白圈为原子位置。切片取最接近分子平面的原生格点,实际x约0.01549 Å,不冒充精确x=0平面。
3. 电子数积分也需要网格与盒子收敛#
脚本读取cube三条步进向量,以 |det(step)| 作为每个体素体积,直接计算 Σρ ΔV。原生cube坐标及步进为Bohr,密度为 e/Bohr³。
| 选项 / 设置 | 实际网格 | 体素积分 / 电子 | 对应电子数 |
|---|---|---|---|
| density-coarse | 31×31×31 | 8.170642 | 8 |
| density-medium | 61×61×61 | 8.005811 | 8 |
| full-density-coarse | 31×31×31 | 13.597412 | 10 |
| full-density-medium | 61×61×61 | 10.122632 | 10 |
| full-density-fine | 120×120×120 | 9.990070 | 10 |
| full-density-160 | 160×160×160 | 9.994773 | 10 |
粗网格对芯层密度尤其不合适。160³结果约9.99477,也不能称作电子数已经严格收敛到10;默认盒子仍可能截去密度尾部。用于定量电荷积分、密度差或盆分区时,需分别检查空间范围、步长和积分变化。
这些结果用于展示工具与采样影响,不作为收敛的原子电荷。本包保留真实网格和积分,不把结果人为归一到10。
4. 静电势与任意点采样#
本例静电势使用 Potential=SCF。其远场与中性分子的电荷和完整FCHK偶极相符,不要根据密度选项的前缀自行拼造新的势选项。
-5 模式还可读取一组任意点:
cubegen 1 Potential=SCF water.fchk my-points.txt -5 n <<'EOF'
0.00000000 0.00000000 20.00000000
0.00000000 0.00000000 -20.00000000
0.00000000 0.00000000 40.00000000
0.00000000 0.00000000 -40.00000000
0.00000000 0.00000000 80.00000000
0.00000000 0.00000000 -80.00000000
EOF
cat my-points.txt
本次 C.01 任意点输入与回显的坐标单位为 Å;常规cube头与 cubman ToXYZ 则为 Bohr。脚本用 R/0.529177210903 转为Bohr后,以正负远场点的势验证偶极;把输入80误当80 Bohr会得到约0.229 e·Bohr,而正确估计约0.818289 e·Bohr,接近FCHK的0.818355 e·Bohr。
势的单位为原子单位;核附近可能出现很大数值。图中颜色只显示±0.12 a.u.范围以看清分子外区域,原始cube保留全部数值。
继续看同网格cube运算与检查点转换。选项背景见Gaussian作者的cubegen手册存档,本页具体行为由C.01实算数据说明。