CentOS7非root安装LAMMPS
- mpich-3.4.2安装
①在Index of /static/downloads中下载mpich-3.4.2.tar.gz
②将tar文件上传服务器,cd读取该文件所在路径。tar -zxvf mpich-3.4.2.tar.gz ,将其解压。
③cd读取解压后的文件夹。
./configure –prefix=/data/gpfs01/zszhang/apps/lammps-zy/mpich(输入安装位置)
④编译
make
⑤安装
make install
- fftw-3.3.2安装
①在Index of /pub/fftw/中下载fftw-3.3.2.tar.gz
②将tar文件上传服务器,cd读取该文件所在路径。tar -zxvf fftw-3.3.2.tar.gz ,将其解压。
③在Linux中安装FFTW:
总共需要两次安装
第一次安装就按下面的④配置就行
第二次安装时为了生成libfftwf.so的库文件,以f结尾的代表可以的数据类型是 float ,加上 --enable-float ,第一次安装的时候不能加这个选项,否则会出错。
④配置
./configure --enable-type-prefix --prefix=/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2(输入安装位置) --with-gcc --enable-shared=yes
其中,
--enable-type-prefix 参数是为了同时使用single precision(单精度)和double precision(双精度),如果不使用它,最后只有以rfftw开头的文件被安装(real fftw);
--prefix= 参数是设定安装目录;
--with-gcc 使用gcc编译器;
--enable-shared=yes 为了生成动态库.so文件 否则生成的都是.a 文件没法编译。
⑤第一次安装
make 编译
make install 安装.这一次安装完后,在安装目录中存在以dfftw和drfftw开头文件,但没有sfftw开头的文件
make clean 还需要安装一次,先清除.
⑥第二次配置
./configure --enable-float --enable-type-prefix --prefix=/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2(输入安装位置) --with-gcc --enable-shared=yes
其中,--enable-float 为了生成单精度计算的头文件和库文件,即以sfftw开头的文件。
⑦第二次安装
make 重新编译
make install 再一次安装,安装完后,目录中便会同时存在sfftw和dfftw开头的文件(用于复数函数/complex function的FFT变换)和srfftw与drfftw开头的文件(用于实数函数的FFT变换)
- LAMMPS安装
①在LAMMPS Source Download Repository: .下载lammps-7Aug2019.tar.gz
②将tar文件上传服务器,cd读取该文件所在路径。
tar -xvf lammps-7Aug2019.tar.gz ,将其解压。
③cd /data/gpfs01/zszhang/apps/lammps-zy/lammps-7Aug19(安装目录)/src/MAKE
找到Makefile.mpi。以下标红部分需要修改。
# mpi = MPI with its default compiler
SHELL = /bin/sh
# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler
CC = g++ -std=c++11
CCFLAGS = -g -O3
SHFLAGS = -fPIC
DEPFLAGS = -M
LINK = g++ -std=c++11
LINKFLAGS = -g -O3
LIB =
SIZE = size
ARCHIVE = ar
ARFLAGS = -rc
SHLIBFLAGS = -shared
# ---------------------------------------------------------------------
# LAMMPS-specific settings, all OPTIONAL
# specify settings for LAMMPS features you will use
# if you change any -D setting, do full re-compile after "make clean"
# LAMMPS ifdef settings
# see possible settings in Section 2.2 (step 4) of manual
LMP_INC = -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64
# MPI library
# see discussion in Section 2.2 (step 5) of manual
# MPI wrapper compiler/linker can provide this info
# can point to dummy MPI library in src/STUBS as in Makefile.serial
# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts
# INC = path for mpi.h, MPI compiler settings
# PATH = path for MPI library
# LIB = name of MPI library
MPI_INC = -I/data/gpfs01/zszhang/apps/lammps-shi/mpich4/include -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1
MPI_PATH = -L/data/gpfs01/zszhang/apps/lammps-shi/mpich4/lib
MPI_LIB = -lmpich -lmpi -lpthread
# FFT library
# see discussion in Section 3.5.2 of manual
# can be left blank to use provided KISS FFT library
# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings
# PATH = path for FFT library
# LIB = name of FFT library
FFT_INC = -DFFT_FFTW3 -DFFT_SINGLE -I/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2/include
FFT_PATH = -L/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2/lib
FFT_LIB = -lfftw3 -lfftw3f -lm
# JPEG and/or PNG library
# see discussion in Section 2.2 (step 7) of manual
# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC
# INC = path(s) for jpeglib.h and/or png.h
# PATH = path(s) for JPEG library and/or PNG library
# LIB = name(s) of JPEG library and/or PNG library
JPG_INC =
JPG_PATH =
JPG_LIB =
# ---------------------------------------------------------------------
④cd /data/gpfs01/zszhang/apps/lammps-zy/lammps-7Aug19(安装目录)/src
⑤make mpi进行安装
⑥如果安装失败,需要重新安装。先输入make clean-all,再重复⑤。
编译成功会在src中生成lmp_mpi文件。
⑦vi ~/.bashrc
再.bashrc后面输入
# mpich environment variable
export MPI=/data/gpfs01/zszhang/apps/lammps-shi/mpich4(mpich所在位置)
export PATH=$MPI/bin:$PATH
export LD_LIBRARY_PATH=$MPI/lib:$LD_LIBRARY_PATH
export MANPATH=$MANPATH:$MPI/share/man
export INFOPATH=$INFOPATH:$MPI/share/man
export INCLUDE=$MPI/include:$INCLUDE
# fftw environment variable
export PATH=/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2(fftw所在位置)/bin:$PATH
export LD_LIBRARY_PATH =/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2(fftw所在位置)/lib:$LD_LIBRARY_PATH
按Esc退出编辑。
在命令行中输入:wq,保存并退出。
输入source ~/.bashrc ,进行编译。
安装完成。