1、ABINIT软件简介
ABINIT的主程序使用赝势和平面波,用密度泛函理论计算总能量、电荷密度、分子和周期性固体的电子结构、进行几何优化和分子动力学模拟、用TDDFT(对分子)或GW近似(多体微扰理论)计算激发态(下图放大看)。
(来源:https://en.wikipedia.org/wiki/List_of_quantum_chemistry_and_solid-state_physics_software)
此外ABINIT还提供了大量的工具程序。程序的基组库包括了元素周期表1-109号所有元素。ABINIT适于固体物理、材料科学、化学和材料工程等学科;固体、分子、材料的表面以及界面等研究领域;处理的体系包含导体、半导体、绝缘体和金属,更多详细介绍参考ABINIT官网。
(部分介绍来源于:http://www.quantumchemistry.net/node/352)
(1) ABINIT官网:https://www.abinit.org/
(2) ABINIT官方论坛:https://forum.abinit.org/
(3) ABINIT官网教程:
https://docs.abinit.org/tutorial/
(4) ABINIT赝势库:http://www.pseudo-dojo.org/
(5) ABINIT Workshop PPT:
https://www.abinit.org/events
(6) ABINIT官网后处理程序:
https://github.com/abinit/abipy
https://github.com/piti-diablotin/qAgate
ABINIT主要功能介绍(这里的介绍很旧了,以官网为准):
A. 计算倒格子中核与电子的总能量
计算使用平面波和赝势;
总能量的计算使用密度泛函理论(DFT)。可以使用大多数重要的局域密度近似 (LDA),包括Perdew-Zunger近似。可以使用两种不同的局域自旋密度(LSD),包括Perdew Wang 92和M. Teter的LSD。还可以使用Perdew-Burke-Ernzerhof,revPBE,RPBE和HCTH等GGA (自旋极化和非极化);
自恰场计算生成DFT基态,以及相关的能量和密度。此后的非自恰计算可以对能带结构的大量k-点产生本征能量。态密度的计算 既可以用四面体方法,也可以用模糊技术;
程序可以使用多种不同的赝势。对整个周期表适用的有两种:Troullier-Martins型和Goedecker型(这种类型包括自旋-轨道耦合)。如果需要的话,有四个代码可以产生新的赝势;
程序本身可以处理金属和绝缘体系;
晶胞可以是正交或者非正交。计算可以输入任何对称性及相应的k-点集;
电子体系可以用自旋极化和自旋非极化计算。一个特殊的选项可以有效地处理反铁磁性。可以对总能量计算非共线的磁性(不能用于力、张量、相应函数...)。可以禁止晶胞的总磁矩;
总能量,力,张量和电子结构的计算可以考虑自旋-轨道耦合;
能量可分解为不同的成分(局域势,XC,Hartree...);
计算内部电子本征值;
230个空间群和1191个Shubnikov磁群的对称性分析。
B. 计算总能量和本征能量
用解析公式计算Hellman-Feynman力;
计算应力;
极化的计算;
响应的计算;
计算近似的和准确的磁化系数矩阵和介电矩阵;
解析计算电子本征能量的导数;
计算光学传导性;
Born有效电荷的能带分解,以及局域化张量的计算。
C. 激发态
用GW近似计算电离能和亲和能;
用TDDFT计算原子和分子的(单重、三重)激发态和振荡强度。
D. 移动原子,改变晶胞参数
用不同的方法寻找平衡构型。可以同时优化晶胞参数。优化过程中如果需要的话,可以固定指定的晶胞参数,角度,或原子位置;
有两种算法进行分子动力学计算;
自动分析键长键角。原子坐标的格式支持用可视化软件XMOL显示。
E. 分析和图形工具(见下面截图,放大看)
后期处理程序cut3d用于分析密度和势文件。它还可以改变文件格式,提取2D明面或者1D线。此外还可以分析波函文件;
另一个后期处理程序aim,用于进行Bader的“原子中的分子”(AIM)密度分析。
对可视化程序产生格式化数据:键结构(用XMGR显示),不同参数的总能量(用XMGR显示),电荷密度(3D轮廓线,先用cut3d,再用商业程序matlab;cut3d也可以产生2D密度图);
后期处理程序band2eps自动画出eps格式的声子散射曲线。
(部分介绍来源于:http://www.quantumchemistry.net/node/352)
总结:本人最近在学ABINIT,虽然在并行效率方面要比商业化的软件(例如VASP)差一点,但是ABINIT很多功能很方便,而且也有一些功能是VASP没有的。最重要的一点,ABINIT是开源免费的。本人后面会继续详细讲解ABINIT的优势和相应的基本计算教程。
2、ABINIT软件安装
(1) ABINIT软件前必看以下资料:
https://forum.abinit.org/viewforum.php?f=1
https://www.youtube.com/watch?v=DppLQ-KQA68
https://school2019.abinit.org/images/lectures/abischool2019_installing_abinit_lecture.pdf
(2) ABINIT软件安装之前的准备(来源ABINIT官网):
(3) ABINIT软件安装逻辑框架图(来源ABINIT官网):
(4) ABINIT软件安装涉及到的LIBXC和netCDF插件简介:
LIBXC:开源的密度泛函库,包含了市面上的几乎大部分泛函。
https://www.tddft.org/programs/libxc/
NetCDF(network Common Data Form):对程序员来说,它和zip、jpeg、bmp文件格式类似,都是一种文件格式的标准。netcdf文件开始的目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件的生成文件的格式。利用NetCDF可以对网格数据进行高效地存储、管理、获取和分发等操作。
https://www.unidata.ucar.edu/downloads/netcdf/index.jsp
(5) ABINIT软件具体安装步骤(假设你已经安装好Intel编译器、MPI、FFTW):
>> 从官网下载安装包,上传到服务器并解压;
tar xzvf abinit-8.10.3.tar.gz
cd abinit-8.10.3
mkdir build
>> 此时需要准备一份ubuntu.ac编译参数文件,并上传到build目录下(请将里面路径改成自己服务器上面对应的路径);
# ================================================================
# Configuration file for ABINIT 8 compilation on COBALT
# The following modules have to be loaded before compilation:
#
# module load feature/mkl/multi-threaded
# module load intel mpi
# module load scalapack fftw3/mkl
# module load netcdf-fortran libxc#
================================================================
prefix="/home/gang/software/abinit-8.10.3/build"
FC="mpiifort"
CC="mpiicc"
CXX="mpicxx"
enable_mpi="yes"
enable_mpi_io="yes"
enable_gpu="no"
with_mpi_prefix="/home/gang/intel/impi/2019.3.199/intel64"
with_linalg_flavor="mkl"
with_linalg_libs="$(MKLROOT)/lib/intel64 -lmkl_intel_ilp64 -lmkl_core -lmkl_intel_thread -lmkl_scalapack_ilp64 -lpthread -lm"
with_fft_flavor="fftw3"
with_fft_incs="-I/home/gang/software/fftw-3.3.8/build/include"
with_fft_libs="-L/home/gang/software/fftw-3.3.8/build/lib -lfftw3_threads -lfftw3 -lfftw3f"
with_trio_flavor="netcdf"
with_dft_flavor="libxc"
#with_libxc_libs="-L/home/gang/software/libxc-4.3.4/install-path/lib -lxc -lxcf90"
#with_libxc_incs="-I/home/gang/software/libxc-4.3.4/install-path/include"
#with_netcdf_incs="-I/usr/include"
#with_netcdf_libs="-L/usr/lib/x86_64-linux-gnu -lnetcdf -lnetcdff"
#with_netcdf_libs="-L/home/gang/software/netcdf-needed-path/lib –lnetcdf -lnetcdff"
#with_netcdf_incs="-I/home/gang/software/netcdf-needed-path/include"
>> 将ubuntu.ac编译参数文件上传之后,仔细检查环境变量和路径是否正确设置,并执行下面命令;
../configure --with-config-file="./ubuntu.ac"
>>上述过程顺利结束后,没有报错的情况下执行下面命令;
make multi multi_nprocs=24
make install
>>安装完成后会在bulid目录下的bin目录里面得到下面可执行程序(放大看)。
(6) 编译过程中可能存在的问题:
(1) configure过程会默认链接到GNU编译器(手动执行下面命令)
export FC=mpiifort
export CC=mpiicc
export CXX=mpicxx
(2) Intel 2019 update 3编译会有问题
https://forum.abinit.org/viewtopic.php?f=3&t=4057
(3) 无法联网的服务器,可能会报错,提前下载好下面安装包上传到相应目录。
lapack-abinit_6.10.tar.gz libxc-3.0.0.tar.gz netcdf-4.1.1.tar.gz
将上面安装包下载好放到下面目录
~/.abinit/tarballs/
3、友情链接
https://yh-phys.github.io/2019/11/29/abinit-install/ (贺勇教程)
https://blog.csdn.net/tengh/article/details/7013381
http://www.goscience.cn/mycenter/bookAll?type=2&id=261&per_page=3
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved