Critic2 点电荷晶体静电能
用真实NaCl晶格演示Ewald求和,区分形式电荷模型与DFT总能。
阅读本篇目录
下载本篇配套操作包,解压后进入包目录。包中有23个Critic2短例子、输入、原始结果与7张高清图。它复用Critic2第一次计算中的真实水二聚体波函数和集群已有NaCl密度,不重新进行DFT。
1. 确定模型再运行#
本例使用已有NaCl晶体几何,常规立方参数5.7Å,最近Na–Cl距离2.85Å;人为指定Na=+1、Cl=−1点电荷。这个模型忽略电子云形变、交换关联和短程排斥,适合学习周期静电求和。
bash run.sh 17
grep -n 'charge\|potential\|Vel\|Ewald' work/ewald/out.cro
crystal ../../data/NaCl.cube
ewald Na 1 Cl -1
ewald后面依次给元素和点电荷。本原胞Na与Cl各一个,总电荷0。没有从密度自动生成Bader电荷;需要密度积分时另看原子电荷。
2. 读取实际结果#
Cl: charge = -1, potential = +0.32448117806 Ha/e
Na: charge = +1, potential = -0.32448117806 Ha/e
Ewald electrostatic energy = -0.3244811780595 Hartree
总能按半个电荷乘势之和计算,避免重复计数。此处每原胞恰好一个NaCl化学式单元,所以该值也对应每NaCl式量的点电荷静电能;改成超胞时必须按式量数换算后再比较。
用最近邻距离r=2.85Å,得到无量纲Madelung系数约1.7475646,与NaCl点电荷晶格相符。配套分析直接对实空间、倒易空间与自能项独立求和,结果一致。

NaCl局域六配位结构用于辨认点电荷模型的几何;Ewald能包含全部周期晶格,不只这六条近邻。
3. 不能怎样解释#
不能把−0.32448Hartree当成VASP算出的NaCl总能、形成能、结合能或密度积分电荷的直接结果。它只对应当前几何和指定形式点电荷模型;非中性晶胞、带电缺陷或含补偿背景的计算需要单独定义物理模型,不能直接照搬此例。
提取数据与重新画图#
只想看配套结果,先在新解压目录执行:
bash analyze.sh
ls analysis-reference
ls figures-reference
该命令从 reference/work/ 提取数据,并生成全部7张图。若要重做后处理,在另一份新解压目录执行:
bash list.sh
bash run-all.sh
ls work analysis figures
顺序是准备真实密度 → 生成周期傅里叶网格 → 运行23个Critic2输入 → 提取表格 → 画图。结果写入 runtime-data/、work/、analysis/、figures/;已有结果目录时使用新解压目录,避免混用。只运行单个编号后,不要对不完整的 work/ 调用整包分析。
重算应使用账户分配的CPU资源。包内 run.slurm 按CPU分区整节点56核规则准备,可用 sbatch run.slurm 提交;教学流程实际单线程,申请56核不表示做过并行性能测试。CPU资源暂不可分配时,先使用已有结果提取与画图。
本例程序是 critic2/1.4,固定提交内部版本1.4.155;GCC/GFortran13.3、双精度/OpenMP,LAPACK3.12.1、Readline8.2、NLopt2.10.0、Libxc7.0.0及Libcint标签6.1.2。辅助脚本使用集群已有ASE3.29.0、NumPy、SciPy和Matplotlib环境,脚本已选定解释器。没有GUI、tblite或libxtb接口要求。
返回Critic2专题。写法依据:固定版本源码、官方命令参考、图形与采样手册、结构工具手册。在线手册面向发展版本,实际输入采用本集群固定版本已运行的写法。