一、 blas-3.8.0
tar -zxvf blas-3.8.0.tgz
#修改 make.inc
FORTRAN = gfortran -mhost -mieee -mftz -fno-second-underscore -fPIC - std=legacy
OPTS = -O3
DRVOPTS = $(OPTS)
NOOPT =
LOADER = gfortran -mhost -mieee -mftz -fno-second-underscore -fPIC -std=legacy
LOADOPTS =
#
#The archiver and the flag(s) to use when building archive (library)
#If you system has no ranlib, set RANLIB = echo.
#
ARCH = ar
ARCHFLAGS= cr
RANLIB = ranlib
make
cp blas_LINUX.a ../lib/libblas.a
二、 lapack-3.8.0
tar -zxvf lapack-3.8.0.tar.gz
cp INSTALL/make.inc.gfortran ./make.inc
#修改make.inc
#CC is the C compiler, normally invoked with options CFLAGS.
#
CC = gcc -mieee -mftz -mhost
CFLAGS = -O3
FORTRAN = gfortran -mhost -mieee -mftz
OPTS = -O2 -frecursive -fPIC
DRVOPTS = $(OPTS)
NOOPT = -O0 -frecursive -fPIC
#Define LOADER and LOADOPTS to refer to the loader and desired
#load options for your machine.
#
LOADER = gfortran -mieee -mftz -mhost
LOADOPTS =
#The archiver and the flag(s) to use when building an archive
#(library). If your system has no ranlib, set RANLIB = echo.
#
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
make lapacklib
cp liblapack.a ../lib
三、 scalapack-2.1.0.tar.gz
tar -zxvf scalapack-2.1.0.tar.gz
cp SLmake.inc.example SLmake.inc
#修改 SLmake.inc
FC = mpif90 -mieee -mftz
CC = mpicc -mieee -mftz
NOOPT = -O0
FCFLAGS = -O3
CCFLAGS = -O3
FCLOADER = $(FC)
CCLOADER = $(CC)
FCLOADFLAGS = $(FCFLAGS)
CCLOADFLAGS = $(CCFLAGS)
#
#The archiver and the flag(s) to use when building archive (library)
#Also the ranlib routine. If your system has no ranlib, set RANLIB = echo
#
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
#
#The name of the ScaLAPACK library to be created
#
SCALAPACKLIB = libscalapack.a
#
#BLAS, LAPACK (and possibly other) libraries needed for linking test programs
#
BLASLIB = -lblas -L/home/export/online1/systest/cesm/lyn/software/conquest/lib
LAPACKLIB = -llapack -L/home/export/online1/systest/cesm/lyn/software/conquest/lib
make
cp libscalapack.a ../lib/
四、 fftw-3.3.8
tar -zxvf fftw-3.3.8.tar.gz
mkdir fftw-338
cd fftw-3.3.8
./configure CC= “gcc -mieee -mftz -mhost “ FC=” gfortan -mieee -mftz -mhost “ FXX=” gfortran -mieee -mftz -mhost “ --host=alpha AR=ar RANLIB=ranlib --prefix= /home/export/online1/systest/cesm/lyn/software/conquest/fftw-338
make
make install
五、 CONQUEST-release-master.zip
unzip CONQUEST-release-master.zip
cd CONQUEST-release-master/src/
#修改 system.make
#Set compilers
FC=mpif90 -mieee -mftz
F77=mpif77 -mieee -mftz
#
#Linking flags
#
ROOT_PATH= /home/export/online1/systest/cesm/lyn/software/conquest
LINKFLAGS= -L$(ROOT_PATH)/lib
#-L/usr/local/lib
ARFLAGS=
#Compilation flags
COMPFLAGS= -O3 $(XC_COMPFLAGS)
COMPFLAGS_F77= $(COMPFLAGS)
#Set BLAS and LAPACK libraries
BLAS= -llapack -L$(ROOT_PATH)/lib -lblas -L$(ROOT_PATH)/lib
#Full library call; remove scalapack if using dummy diag module
LIBS= $(FFT_LIB) $(XC_LIB) $(ROOT_PATH)/lib/libscalapack.a $(BLAS)
#LibXC compatibility (LibXC below) or Conquest XC library
#Conquest XC library
XC_LIBRARY = CQ
XC_LIB =
XC_COMPFLAGS =
#LibXC compatibility
#Choose old LibXC (v2.x) or modern versions
#XC_LIBRARY = LibXC_v2
#XC_LIBRARY = LibXC
#XC_LIB = -lxcf90 -lxc
#XC_COMPFLAGS = -I/usr/local/include
#Set FFT library
FFT_LIB= -lfftw3 -L/home/export/online1/systest/cesm/lyn/software/conquest/fftw-338/lib
make (若报错,没有生成 makedeps.txt,无法进行下去,则拷贝 从其他机器上生成的makedeps.txt(文件已上传至资源)到此目录 ,修改 Makefile(将63行注释掉)文件后重新make)
61 sed "s/BBB/"`git symbolic-ref HEAD | cut -b 12-`"/" $(COMMENT) | sed "s/RRR/"`git describe --tags`"/" >> datestamp.f90
62 $(ECHOSTR) "end module datestamp" >> datestamp.f90
63 #./makedeps makedeps.txt $^
64 sed /"^mpi.o"/D makedeps.txt > deps.obj.inc
cp system.make ../tools/BasisGeneration/
cd ../tools/BasisGeneration/
#若缺少deps.obj(文件已上传至资源),放置到tools/BasisGeneration目录下
make
#在bin下成功生成 Conquest MakeIonFiles 可执行文件
算例测试
1、进入到CONQUEST-release-master/pseudo-and-pao/PBE/Si/ 目录下,
将 MakeIonFiles 和Conquest 拷贝至此目录下。
2、生成 SiCQ.ion 。将SiCQ.ion拷贝为Si.ion
./MakeIonFiles
3、新建文件Conquest_ion_input,输入以下内容
AtomMove.TypeOfRun static
IO.Coordinates coords.dat
Grid.GridCutoff 50
Diag.MPMesh T
Diag.GammaCentred T
Diag.MPMeshX 2
Diag.MPMeshY 2
Diag.MPMeshZ 2
General.NumberOfSpecies 1
%block ChemicalSpeciesLabel
1 28.086 Si
%endblock
新建坐标文件coords.dat
10.36 0.00 0.00
0.00 10.36 0.00
0.00 0.00 10.36
8
0.000 0.000 0.000 1 T T T
0.500 0.500 0.000 1 T T T
0.500 0.000 0.500 1 T T T
0.000 0.500 0.500 1 T T T
0.250 0.250 0.250 1 T T T
0.750 0.750 0.250 1 T T T
0.250 0.750 0.750 1 T T T
0.750 0.250 0.750 1 T T T
提交测试命令,生成Conquest_out文件。
./Conquest