北京大学陈默涵课题组
用户380
旧-ABACUS中文文档
分享
ABACUS新人使用的一些注意事项
输入“/”快速插入内容
ABACUS新人使用的一些注意事项
作者:彭星亮
1.
ABACUS的镜像和使用
ABACUS提交作业说明
2.
常用参数,ABACUS与VASP的区别
ABACUS的输入参数中,长度单位通常为Bohr,能量单位通常为Ry。
1
Angstrom
~= 1.889716
Bohr
1 Ry ~= 13.6 eV
a.
ABACUS有PW和LCAO两种基组方法,PW时平面波基组(与VASP类似),LCAO时数值原子轨道基组。使用LCAO时,需同时准备每个元素的赝势文件和数值原子轨道文件,可在
http://abacus.ustc.edu.cn/main.htm
下载。LCAO基组的使用参考
LCAO具体计算前的基本参数测试教程文档
b.
ecutwfc
:对应VASP的
ENCUT
,单位为Ry。VASP常用PAW赝势,ABACUS常用模守恒赝势。使用ABACUS时不能直接用VASP的能量截断值,需重新做收敛性测试,一般模守恒赝势需要的截断值更大。
c.
kspacing
:对应VASP中的
KSPACING
,ABACUS中的单位为1/Bohr,VASP中为1/Angstrom。
d.
smearing_sigma
:对应VASP中的
SIGMA
,单位为Ry。
e.
wfc_thr
:
密度差
,SCF的收敛阈值(注意VASP中
EDIFF
为能量差)。建议PW计算设置不要低于1e-7,LCAO的计算不要低于1e-6。注意可在计算时的屏幕输出中看到每步SCF过程的能量差的变化。针对自己的体系,测试的时候可以注意一下SCF收敛时的能量差,灵活调整wfc_thr的设置。
f.
calculation:
定义ABACSU的计算任务,不同于VASP中的
ISIF
。可设置:scf, relax, cell-relax, md等。注意SCF计算时,需定义“cal_force 1”或“cal_stress 1”才会计算force和stress。
g.
ks_solver
:矩阵对角化方法,不同于VASP中的
ALGO和IALGO
,PW可选cg和dav,LCAO可选genelpa和scalapack_gvx。
h.
STRU
文件:对应VASP中的POSCAR。其中LATTICE_CONSTANT的单位为Bohr,体系实际的晶胞为LATTICE_CONSTANT * LATTICE_VECTORS,体系
原子的实际的坐标
为LATTICE_CONSTANT * ATOMIC_POSITIONS(注意这和VASP是不一样的)。在ATOMIC_SPECIES中需要设置元素的质量,这个值在动力学的计算才有用到,其他的计算会被忽略,可设为1。
3.
scf计算不收敛
a.
对于金属或半导体体系,需设置smearing_method(同VASP中的ISMEAR)为gauss或mp或fd,同时设置smearing_sigma(同VASP的SIGMA)。
b.
通过参数
mixing_type
和
mixing_beta
调整电荷mixing的设置。
i.
可先尝试减小mixing_beta(默认为0.7),使密度的混合更平缓。
ii.
对于金属体系可添加关键词"mixing_gg0 1.0" 打开kerker方法进行密度混合
iii.
使用LCAO时,使用pulay,不要用broyden
4.
加速计算
a.
K点数较多时,可
设置kpar为N
,把所有K点分成N份进行并行计算,默认为1,使用时请先进行测试。
b.
使用LCAO时,当原子数较多时,可
设置bx、by、bz为更大的值
(默认为2,2,2)。这3个参数为实空间进行格点积分的大格子的维度。
c.
不影响计算需求且K点较多的情况,打开对称性设置
symmetry
。
d.
使用LCAO时,如果只需计算gamma点,即k点为”1 1 1“时,设置“
gamma_only 1
”。
e.
用LCAO计算有真空层的体系时,不要把真空层设置在Z方向,目前ABACUS的格点积分(与原子位置有关)是在Z方向进行并行的,这样会造成资源浪费。PW计算没有这种考虑。
5.
使用dpgen和dpdata结合ABACUS
由于dpgen/dpdata与ABACUS的接口一直在做一些BUG的修复,最好使用dpgen/dpdata的最新devel分支。
代码块
Bash
1. 更新dpdata
git clone -b devel
https://gitee.com/deepmodeling/dpdata.git
&&\
cd dpdata &&\
pip install --user .
或者
pip install --user git+
https://gitee.com/deepmodeling/dpdata.git
@devel
2. 更新dpgen
git clone -b devel
https://gitee.com/deepmodeling/dpgen.git
&& \
cd dpgen && \
pip install --user .
或者
pip install --user git+
https://gitee.com/deepmodeling/dpgen.git
@devel