How to build VASP¶
Software
|
Version
|
Cluster
|
---|---|---|
VASP
|
6.2.1-wannier90
|
Dardel
|
Load necessary modules¶
# Note: apply the readonly-patch before compiling
# https://github.com/Lumi-supercomputer/LUMI-EasyBuild-contrib/blob/main/easybuild/easyconfigs/v/VASP/POTCAR-readonly.patch
module load PDC/23.12
module load cpeGNU/23.12
module load cray-fftw/3.3.10.6
module load wannier90/3.1.0-cpeGNU-23.12
Copy makefile.include to the base directory¶
makefile.include
should be under /path/to/vasp.6.2.1
.
# Precompiler options
CPP_OPTIONS= -DHOST=\"Dardel\" \
-DMPI -DMPI_BLOCK=65536 -Duse_collective \
-DscaLAPACK \
-DCACHE_SIZE=4000 \
-Davoidalloc \
-Dvasp6 \
-Duse_bse_te \
-Dtbdyn \
-Dfock_dblbuf -DnoSTOPCAR -D_OPENMP -DVASP2WANNIER90v2 -Duse_shmem
CPP = gcc -E -P -C -w $*$(FUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS)
FC = ftn -fopenmp -fallow-argument-mismatch
FCL = ftn -fopenmp -fallow-argument-mismatch
FREE = -ffree-form -ffree-line-length-none
FFLAGS = -w -march=znver2
OFLAG = -O2
OFLAG_IN = $(OFLAG)
DEBUG = -O0
BLAS =
LAPACK =
BLACS =
SCALAPACK =
WANNIER90 = -L$(EBROOTWANNIER90)/lib -lwannier
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) $(WANNIER90)
FFTW ?=
#LLIBS += -L$(FFTW)/lib -lfftw3 -lfftw3_omp
INCS = -I$(FFTW_INC)
OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o
# For what used to be vasp.5.lib
CPP_LIB = $(CPP)
FC_LIB = $(FC)
CC_LIB = gcc
CFLAGS_LIB = -O
FFLAGS_LIB = -O1
FREE_LIB = $(FREE)
OBJECTS_LIB= linpack_double.o getshmem.o
# For the parser library
CXX_PARS = g++
LLIBS += -lstdc++
# Normally no need to change this
SRCDIR = ../../src
BINDIR = ../../bin
Build¶
make
Create symbolic links¶
cd bin
ln -s vasp_std vasp
ln -s vasp_ncl vasp_noncollinear
ln -s vasp_gam vasp_gamma
Disclaimer¶
PDC takes no responsibility for the correctness of results produced with the binaries. Always evaluate the binaries against known results for the systems and properties you are investigating before using the binaries for production jobs.