ABACUS 无轨道DFT五类动能泛函实操
Al单原胞的WT、TF、vW、TF+λvW和LKT,完整输入、CPU流程与实际截断能对照。
阅读本篇目录
OFDFT以电子密度为变量,用动能密度泛函近似非相互作用动能;它不是把普通KS-DFT的轨道输出关掉。本篇在同一个Al单原子原胞、同一个局域BLPS赝势上,实际运行WT、TF、vW、TF+λvW与LKT。
1. 先看已有结果,再决定是否重算#
下载完整输入、实际原生输出与绘图脚本,解压进入附件根目录:
bash analyze.sh
该命令只读取参考结果,用一个CPU核心生成reference/analysis/conditions.csv及四张高清图,不启动DFT。需要完整重算时:
sbatch submit.slurm
submit.slurm是CPU分区模板:1个MPI进程×56核预留,符合CPU整节点规则;这一原子级教学模型每个条件实际只用1线程,不把预留核数当成有效并行加速。请按自己的资源权限用yskit核对分区、ABACUS模块,保留bash run.sh作为流程命令。不要在登录节点直接运行DFT。
参考实算采用ABACUS3.10.1 P100模块的CPU后端,GNU13.3、HPC-X2.50/OpenMPI5.0.10rc2、OpenBLAS0.3.30;不是GPU加速或8173M节点性能数据。CPU专用节点使用相应abacus/3.10.1-8173m模块。附件另保留对应参考环境模板,具体节点/构建请与申请资源匹配。

左图蓝点是原胞内的一个Al,灰点表示周期像,不是额外七个独立原子。右图仅展示同一模型下不同近似的原始能量;数值更低不等于对真实铝更准确。这里没有优化晶胞或原子位置。
2. 赝势和动能泛函#
| of_kinetic | 含义 | 本例设置 |
|---|---|---|
| wt | Wang–Teter非局域动能泛函 | 保留默认核参数 |
| tf | Thomas–Fermi | 局域密度动能近似 |
| vw | von Weizsäcker | 梯度动能项,不能当作通用金属推荐 |
| tf+ | TF+λvW | of_tf_weight=1,of_vw_weight=0.2 |
| lkt | Luo–Karasiev–Trickey | 本例参数保持对应默认 |
输入定义见ABACUS3.10.1参数手册。本例用官方示例的al.lda.lps blps,三个价电子。不要把普通非局域赝势原封不动用于OFDFT,也不要把不同赝势、材料、温度下的总能量直接拿来比较方法误差。
3. 完整输入#
以WT、60 Ry为例:
展开完整INPUT、STRU、KPT
INPUT#
INPUT_PARAMETERS
suffix tutorial
calculation scf
esolver_type ofdft
basis_type pw
device cpu
precision double
symmetry 1
nspin 1
pseudo_dir ../../PP_ORB
orbital_dir ../../PP_ORB
pseudo_rcut 16
scf_nmax 200
cal_force 1
cal_stress 1
out_chg -1
ecutwfc 60
of_kinetic wt
of_method tn
of_conv energy
of_tole 1e-6
of_tolp 1e-5
of_tf_weight 1
of_vw_weight 1.0
STRU#
ATOMIC_SPECIES
Al 26.98 al.lda.lps blps
LATTICE_CONSTANT
7.50241114482312 // add lattice constant
LATTICE_VECTORS
0.000000000000 0.500000000000 0.500000000000
0.500000000000 0.000000000000 0.500000000000
0.500000000000 0.500000000000 0.000000000000
ATOMIC_POSITIONS
Direct
Al
0
1
0.000000000000 0.000000000000 0.000000000000 1 1 1
KPT#
K_POINTS
0
Gamma
1 1 1 0 0 0
calculation scf在这里优化电子密度,of_method tn也是密度优化算法,不是原子几何优化。ecutwfc沿用ABACUS参数名;OFDFT中它影响密度/势的平面波与FFT离散,不表示又求解了一批KS轨道。Γ点KPT保留统一输入约定,不把增加KS能带数当作OFDFT的收敛方法。
本包每类动能泛函分别运行20、40、60 Ry,另有优化算法、停止条件、λ权重和WT体积变化,总共25个小条件。运行过程不会覆盖已有work。
4. 截断与权重的实际结果#

每条曲线都减去该动能泛函自身60 Ry结果。TF这三点并非单调变化,不能强行画成平滑的收敛趋势;FFT网格、优化停止精度和模型适用性都需要结合判断。60 Ry的原始总能量如下:
| 动能泛函 | 能量,eV/Al原胞 |
|---|---|
| WT | -57.933855090 |
| TF | -62.656338564 |
| vW | -79.503680166 |
| TF+0.2vW | -59.650646614 |
| LKT | -58.024628335 |
另外将tf+的of_vw_weight设为0,实际能量与同截断TF相同;设为1则是另一组TF+vW计算。改变权重会改变优化后的密度,不能把两份已经优化的总能量简单线性拼接成新权重的结果。0.2仅用于参数示例,不是跨材料通用推荐。
5. 输出范围#
本例提供真实能量、应力、优化势范数及其曲线。这里使用的3.10.1构建在OFDFT电荷导出路径存在零网格问题,因此设置out_chg -1关闭网格和自动电荷备份,不提供电荷cube或电荷重启文件,也不把它用于电荷积分、切片或续算。需要电荷网格分析时,可参照已经提供正确网格的KS电荷分析流程。