SIESTA编译、资源整理

1.编译安装

本文还是以intel oneapi环境为例,siesta的编译非常简单。官方源码在GitLab发布,可以在https://gitlab.com/siesta-project/siesta/-/releases获取软件包,以siesta-v4.1.5版本为例,下载siesta-v4.1.5.tar.gz并解压,进入该文件夹。

mkdir build 
cd build

bash ../Src/obj_setup.sh
cp ../Obj/intel.make ./arch.make

这里我们需要对arch.make进行修改,主要是需要修改两个地方,首先根据实际情况修改需要用到的编译器,这里我使用了mpicc和mpiifort

CC = mpicc
FPP = $(FC) -E -P
FC = mpiifort
FC_SERIAL = ifort

其次是我们需要使用MKL的BLAS,在Dependency rules ———一行之前的位置加入下面的内容,如果将这部分放在文件开头,可能会被后面的命令给覆盖导致无效

MKL_PATH=根据实际情况填写
BLAS_LIBS=-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lmkl_blacs_intelmpi_lp64 -lmkl_scalapack_lp64
LAPACK_LIBS=
BLACS_LIBS=
SCALAPACK_LIBS=
LIBS =$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS)

MPI_INTERFACE = libmpi_f90.a
MPI_INCLUDE = .
FPPFLAGS += -DMPI

这里如果不清楚MKL的安装目录,可以使用下面的命令来获取

MKL_PATH=$(echo $MKLROOT | awk -F: '{ print $1 }')
echo $MKL_PATH

之后使用make -jN进行编译(N为核心数),我们就可以在当前目录下得到siesta的二进制文件了。

参考:

https://zhuanlan.zhihu.com/p/609209355

2.赝势获取

SIESTA提供了一个生成赝势的程序ATOM,对于学术用户是免费的,可以在https://siesta-project.org/SIESTA_MATERIAL/Pseudos/atom_licence.html进行获取。我们也可以从下面几个赝势库获取生成好的赝势直接使用:

3.辅助软件

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据