-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPIMD-suite-debian.def
87 lines (80 loc) · 2.66 KB
/
PIMD-suite-debian.def
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Bootstrap: docker
From: debian:latest
%labels
Author k0syam
Version v0.0.1
%files
# bind the files
%environment
export LISTEN_PORT=12345
export LC_ALL=C
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
%post
apt update -y
apt upgrade -y
apt install -y build-essential libopenblas-dev libblas-dev liblapack-dev liblapack3 gfortran libglfw3-dev libglew-dev
apt install -y libopenmpi-dev openmpi-bin
apt install -y libssl-dev git wget zip unzip
cd /opt
mkdir PIMD
cd PIMD
wget https://ccse.jaea.go.jp/software/PIMD/download/pimd.2.3.0.tar
tar xvfz pimd.2.3.0.tar
mkdir compile
cp source/* compile/
cd compile
sed -i -e 's/-framework Accelerate/ -lopenblas -llapack/g' ./makefile
sed -i -e 's/QE =/QE = -Dqe/g' ./makefile
sed -i -e 's/-lqe -L. -lfftw3/-lqe/g' ./makefile
make common_variables.o
cd /opt/PIMD/lib/qe/
wget https://github.com/QEF/q-e/archive/qe-6.2.1.zip
unzip qe-6.2.1.zip
patch -p0 < qe-6.2.1_to_pimdlib.patch
cd /opt/PIMD/lib/qe/q-e-qe-6.2.1
./configure
cp /opt/PIMD/compile/common_variables.mod ./Modules/
cp /opt/PIMD/compile/common_variables.mod ./PW/src/
cp -p ../Makefile_libqe_pwsrc ./PW/src/Makefile
cp -p ../Makefile_libqe_modules ./Modules/Makefile
make -i -k pw
cd ./Modules
make
cd ../PW/src
make
make default
# cd /opt/PIMD/compile/
# make veryclean
# make
cd /opt
wget https://www.materialscloud.org/discover/data/discover/sssp/downloads/SSSP_efficiency_pseudos.tar.gz
tar xzvf SSSP_efficiency_pseudos.tar.gz
mv SSSP_efficiency_pseudos/ /opt/PIMD/lib/qe/pseudo/
cd /opt/PIMD/lib/aenet/
wget http://ann.atomistic.net/files/aenet-2.0.3.tar.bz2
tar xvf aenet-2.0.3.tar.bz2
cp -r aenet-2.0.3/src ./
cp -r aenet-2.0.3/lib ./
cd lib/
make
cp liblbfgsb.a ../../
cd /opt/PIMD/lib/aenet/
cp -r src src_modified
patch -u -p1 -d src_modified < src.patch
cd src_modified/
make -f makefiles/Makefile.gfortran_openblas_mpi lib
cp libaenet.a ../../
cd /opt/PIMD/compile/
sed -i -e 's/AENET =/AENET = -Daenet/g' ./makefile
make veryclean
make
%runscript
# run the example
cp -r /opt/PIMD/examples/SiO2/qe_md ./
cd qe_md
sed -i -e 's/..\/..\/..\/lib\/qe\/pseudo\//\/opt\/PIMD\/lib\/qe\/pseudo\//g' ./qe.dat
sed -i -e 's/Si.pz-vbc.UPF/Si.pbe-n-rrkjus_psl.1.0.0.UPF/g' ./qe.dat
sed -i -e 's/O.pz-kjpaw.UPF/O.pbe-n-kjpaw_psl.0.1.UPF/g' ./qe.dat
/opt/PIMD/compile/pimd.mpi.x
%help
This is a container for using PIMD, Quantum Espresso and aenet, which is the molecular dynamics simulator with neural net potentials.