ABACUS使用

  1. 1. 结构转换 STRU-POSCAR
  2. 2. 输入参数
  3. 3. 楼下集群使用脚本
  4. 4. ABACUS的优化
  5. 6. ABACUS官方测试结果

1. 结构转换 STRU-POSCAR

import dpdata
#poscar 转为 stru
ls = dpdata.System(file_name='POSCAR',fmt='poscar')
ls.to(file_name="STRU",fmt='abacus/stru')

#stru 转为 poscar
ls = dpdata.System(file_name="STRU",fmt='abacus/stru')
ls.to(file_name='POSCAR',fmt='poscar')

2. 输入参数

ABACUS新人使用的一些注意事项 - 飞书云文档 (feishu.cn)

Docs (feishu.cn)

快速开始 ABACUS|自洽 能带 态密度 结构优化 - Bohrium (dp.tech)

快速开始 ABACUS|自洽 能带 态密度 结构优化 - Bohrium (dp.tech)

pw.x: input description (quantum-espresso.org)

赝势文件: PSEUDOPOTENTIALS AND ORBITALS (ustc.edu.cn)

QE输入文件设置网站 ABACUS和QE很像,所以输入文件参考QE即可

三个输入文件

  • INPUT
  • KPT (QE网站生成)
  • STRU 通过脚本从POSCAR转,需要写入赝势的位置

abacus manual 13.1.17 优化参数

a.u 原子单位制

注意STRU的LATTICE_CONSTANT 参数,千万不要自己构建STRU,用转的

官方测试案例:abacus-develop/tests/integrate at develop · deepmodeling/abacus-develop (github.com)

ABACUS的BFGS算法只能固定晶格参数优化原子位置,不能做真正的结构优化

image-20240608165118851

3. 楼下集群使用脚本

#!/bin/sh
#SBATCH  --job-name=vasp_job  
#SBATCH  --output=log.out.%j
#SBATCH  --error=log.err.%j
#SBATCH  --partition=xieyuib
#SBATCH  --nodes=1
#SBATCH  --ntasks=48

source /work/env/oneapi-2022.2.0
source /work/home/liz/software/lammps/torchdemo-new/bin/env_torchdemo

mpirun -n 48 /work/home/liz/software/abacus/abacus-develop-3.4.4/bin/ABACUS.mpi > log 2>&1

/work/home/liz/workspace/3-temporary-duty/6-QE_vs_abacus/24-6-14/2_opt

4. ABACUS的优化

分两步,先固定晶格优化原子位置,可以用bfgs cg SD bfgs+cg ;再优化晶格,只能用cg

image-20240615135729006

abacus 如果把原子位置优化设置为cg,确实是每一步既优化原子位置也优化晶格参数

d58c5d16ff63476e4eca787cc7df7f0

但是如果把原子位置优化设置为bfgs,是先优化原子位置再优化晶胞

96a6b77c6607cd5bedc9ffb1b8dcda3

QE里只有bfgs+bfgs ,这种是每一步既优化晶格也优化原子

47a6de6df22fb712b245a64b8695f50

0bca3dafd9e25e78f02e6749fc9c8a1

为什么vasp优化的能量最后不对,因为优化过程中晶格在变化,但是优化过程中的G点网格没有更新,所以最后用的G点网格不适用最后的晶格常数

QE最后会有一步自洽,所以QE的能量是准的

ABACUS优化的能量是不准的,和vasp一样,是G网格的原因

6. ABACUS官方测试结果

ABACUS Test Report (deepmodeling-activity.github.io)


转载请注明来源 有问题可通过github提交issue