Here how to compile PIMD version 2.3.0 with the Quantum-ESPRESSO (QE) on Sekirei@ISSP, The Univ. of Tokyo.
To use with PIMD, we are forced to use QE 6.2.1.
See also the link page , on which this page heavily relies.
Let us suppose the source code is located at
~/PIMD/src
In the home directory make the directory and change directory as
$ mkdir -p PIMD/src/pimd-2.3.0 $ cd PIMD/src/pimd-2.3.0
Then download the source code by typing
$ wget https://ccse.jaea.go.jp/software/PIMD/download/pimd.2.3.0.tar
unntar it
$ tar xvf pimd.2.3.0.tar
and create a directory to compile the program
$ mkdir compile
All the source files are copied from the source directory as
$ cd compile
and
$ cp ../source/* .
In the compile directory, modify "makeifle" as follows:
FCMP = mpif90
OPTS = -O3 -g -traceback \ OPTS = -warn all -g -traceback -O3 -xCORE-AVX2 \ -I ${MKLROOT}/include/fftw -w
LIBMKL = -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 \ -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
Then generate modules necessary to compile the patched version of QE
$ make common_variables.o
Then go to the library directro
$ cd ../lib/qe
and download the QE source code:
$ wget https://github.com/QEF/q-e/archive/qe-6.2.1.zip
Unzip and apply the patch modified personally by myself (see attached)
$ unzip qe-6.2.1.zip $ patch -p0 < qe-6.2.1_to_pimdlib_new.patch
Then buld QE (actually library, not pw.x) as follows:
MPIF90=mpif90 DFLAGS='-D__OPENMP -D__FFTW3 -D__MPI -D__SCALAPACK' FFT_LIBS=-lfftw3 SCALAPACK_LIBS='-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64' ./configure --enable-openmp
$ make pw
Finally we build PIMD by simply executing the followings:
$ cd ../../../compile $ make
Here how to build PIMD with QE and AENET, a software for constructing atomic interaction potential based on artifitial neural networks. See the link page as above.
Let's build AENET as follows: First go to the library directory
$ cd lib/aenet
and download the tar ball
$ wget http://ann.atomistic.net/files/aenet-2.0.3.tar.bz2
and untar it
$ tar xvf aenet-2.0.3.tar.bz2
if it doesn't work try
$ bzip2 -dc aenet-2.0.3.tar.bz2 | tar xvf -
Go to the source directory
$ cd aenet-2.0.3
and apply the patch as
$ patch -u -p1 -d src < ../src.patch
Then we first compile the L-BFGS library. Go to the lib/ directory
$ cd lib
and change the compiler as appropriate (I use ifort in this case)
FC = ifort -c
and build
$ make
Then go to the source directory
$ cd ../src
modify the make file in "makefiles/" I use "Makefile.ifort_intelmpi" as
$ make -f makefiles/Makefile.ifort_intelmpi lib
Then go to the compile/ directory
$ cd ../../../compile
and edit makefile. Activate aenet by
AENET = -Daenet
and set the path to the library as
LIBAENET = -I../lib/aenet/aenet-2.0.3/src \ ../lib/aenet/aenet-2.0.3/src/libaenet.a \ ../lib/aenet/aenet-2.0.3/lib/liblbfgsb.a
and make:
$ make clean; make