BerkeleyGW-2.1 安装教程
# 简介
这是一个免费开源的大规模并行的电子激发态属性计算包,它基于采用ab initio GW和GW加Bethe-Salpeter方程方法的多体扰动理论。
编译方法可以参考官网:http://manual.berkeleygw.org/2.1/compilation/
# 安装环境
- 编译器;如intel compiler
- MPI编译器:如impi
- fftw库:如fftw3
- hdf5库:可选
# 安装依赖
安装intel compiler 和 impi 的过程不再赘述。
# 安装fftw库
wget ftp://ftp.fftw.org/pub/fftw/fftw-3.3.8.tar.gz
tar zxvf fftw-3.3.8.tar.gz
cd fftw-3.3.8
# 编译双精度版本
./configure CC=icc FC=ifort CXX=icpc --prefix=$HOME/software/fftw/3.3.8
make
make install
1
2
3
4
5
6
7
2
3
4
5
6
7
说明:
CC
/FC
/CXX
用来指定编译器的名字,如果不写,默认是GNU的编译器。--prefix
用来指定安装目录
# 安装hdf5
# 下载页面
# https://www.hdfgroup.org/downloads/hdf5/source-code/
tar zxvf hdf5-1.10.5.tar.gz
cd hdf5-1.10.5
./configure CC=mpiicc FC=mpiifort CXX=mpiicpc \
--enable-fortran --enable-parallel --enable-shared \
--prefix=$HOME/software/hdf5/1.10.4
make
make install
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
说明:
--enable-fortran
开启fortran支持,BGW需要--enable-parallel
开启并行支持,BGW需要
# 安装应用
# 下载地址
# https://berkeleygw.org/download/
#
tar zxvf BerkeleyGW-2.1.tar.gz
cd BerkeleyGW-2.1
1
2
3
4
5
2
3
4
5
需要一个名为arch.mk
的配置文件,下面为我写好的配置文件,通常需要用户依据自身需求进行细微修改。
# arch.mk
COMPFLAG = -DINTEL
PARAFLAG = -DMPI
MATHFLAG = -DUSESCALAPACK -DHDF5 -DUNPACKED -DUSEFFTW3
FCPP = cpp -C
F90free = mpiifort -free
#LINK = mpiifort -i-static -openmp
LINK = mpiifort -qopenmp
FOPTS = -O3 -no-prec-div
FNOOPTS = -O2 -no-prec-div
MOD_OPT = -module
INCFLAG = -I
C_PARAFLAG = -DPARA
CC_COMP = mpiicpc
C_COMP = mpiicc
C_LINK = mpiicpc
C_OPTS = -O3
C_DEBUGFLAG =
REMOVE = /bin/rm -f
FFTWPATH = $(HOME)/software/fftw/3.3.8 # fftw path
FFTWLIB = $(FFTWPATH)/lib/libfftw3.a
FFTWINCLUDE = $(FFTWPATH)/include
MKLPATH = $(MKLROOT)/lib/intel64
LAPACKLIB = -Wl,--start-group $(MKLPATH)/libmkl_intel_lp64.a $(MKLPATH)/libmkl_sequential.a \
$(MKLPATH)/libmkl_core.a $(MKLPATH)/libmkl_blacs_intelmpi_lp64.a \
-Wl,--end-group -lpthread
SCALAPACKLIB = $(MKLPATH)/libmkl_scalapack_lp64.a
HDF5DIR = $(HOME)/software/hdf5/1.10.4 # hdf5 path
HDF5LIB = $(HDF5DIR)/lib/libhdf5hl_fortran.a $(HDF5DIR)/lib/libhdf5_hl.a \
$(HDF5DIR)/lib/libhdf5_fortran.a $(HDF5DIR)/lib/libhdf5.a -lz
HDF5INCLUDE = $(HDF5DIR)/include
TESTSCRIPT = sbatch hbar.scr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
说明:
- 该文件详细描述了各个编译参数和库的路径。
- 请依据自身的需要进行修改。
MATHFLAG
参数用来添加FFTW3
和HDF5
的支持。
然后进行编译即可:
make all-flavors
make install PREFIX=$HOME/software/bgw/2.1-real
1
2
2
编译cplx版本:
make clean-flavored
make cplx
make install PREFIX=$HOME/software/bgw/2.1-cplx
1
2
3
2
3
# 运行环境
export BGW_HOME=$HOME/software/bgw/2.1-real # real or cplx , 用"#" 注释掉其中一行
export BGW_HOME=$HOME/software/bgw/2.1-cplx
export PATH=$BGW_HOME/bin:$PATH
export LD_LIBRARY_PATH=$BGW_HOME/lib:$LD_LIBRARY_PATH
1
2
3
4
2
3
4