本文来源:“分子动力学”公众号
原文链接:https://mp.weixin.qq.com/s/box3_u5LpB9GtQlevt1DDQ
假装所有的依赖包都没有安装,那么在root权限下输入下面的命令:apt-get install gccapt-get install g++apt-get install mpi-default-apt-get install libfftw3apt-get install gfortran即可把这些包都安装好。
解压缩 lammps源程序: tar -xvf lammps-stable.tar.gz
首先进入 lammps-11Aug17/lib/linalg 目录:
cd lammps-11Aug17/lib/linalg/
运行命令:make -f Makefile.gfortran
即可生成 liblinalg.a 文件,以备后用。
在 lammps-11Aug17/src 目录内预编译:
make lib-atcmake lib-atc args="-m mpi"
编译成功在最后都会显示:Build was successful编译成功后,会在目录lammps-11Aug17/lib/atc 内生成两个文件:libatc.a 和 Makefile.lammps这个Makefile.lammps 里面有 ATC 所需要的信息。
cd lammps-11Aug17/src/MAKE/MACHINES
把Makefile.ubuntu复制到 src/MAKE 目录下:cp Makefile.ubuntu …/
可以看到此时 lammps-11Aug17/src/MAKE目录下有下面三个Makefile文件:Makefile.mpi Makefile.serial Makefile.ubuntu
把lammps-11Aug17/lib/atc/Makefile.lammps 的信息添加到 Makefile.ubuntu 内
如下:
Settings that the LAMMPS build will import when this package library is used
user-atc_SYSINC =user-atc_SYSLIB = -llinalg -lgfortranuser-atc_SYSPATH = -L…/…/lib/linalg$(LIBOBJDIR)
同时,的ubuntu服务器不需要输出图片,因此在目录 lammps-11Aug17/src/MAKE 内的Makefile.ubuntu 里把 jpg 有关的行都注释掉,否则后面的安装会出问题。如下,灰色背景的部分删掉:############################################################################## LAMMPS ifdef settings# see possible settings in Section 2.2 (step 4) of manualLMP_INC = -DLAMMPS_GZIP -DLAMMPS_JPEG -DLAMMPS_PNG-DLAMMPS_FFMPEG
*******************************************************************************************# LIB = name(s) of JPEG library and/or PNG library
JPG_INC =JPG_PATH =JPG_LIB = -ljpeg -lpng
*******************************************************************************************EXTRA_INC = (LMPINC)(LMPINC)(PKG_INC) (MPIINC)(MPIINC)(FFT_INC) $(JPG_INC) $(PKG_SYSINC)EXTRA_PATH = (PKGPATH)(PKGPATH)(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH)
EXTRA_LIB = (PKGLIB)(PKGLIB)(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB)EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS)EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS)
#############################################################################
到lammps-11Aug17/src/目录下执行:
make package-status查看有哪些包是yes态和no态;yes表示安装,no表示不安装。用make yes-包名或make no-包名, 加载/取消你安装的包。选择自己必要的包就行了,特别注意,选择了需要的包,也得跟自己的电脑支持情况对应。我的选择有:make no-REAXmake no-GPUmake no-MEAMmake no-USER-SMDmake yes-KSPACEmake yes-MOLECULEmake yes-RIGIDmake yes-USER-REAXCmake yes-USER-MISC
make yes-USER-ATC
再查看是否yes了make package-status
make ubuntu
命令,等待安装,经过漫长的安装过程之后,屏幕提示生成 lmp_ubuntu ,即安装好了。此文件在目录lammps-11Aug17/src 内。
并把lmp_ubuntu复制到目录:/usr/local/bin 内cp lmp_ubuntu /usr/local/bin
安装完成后设置环境变量sudo vim /etc/profile
#在文件最下面加入如下内容export PATH=/usr/local/bin:$PATH
#保存关闭文件后执行:source /etc/profile
那么并行版的lammps就安装好了,安装目录在/usr/local/bin在其他目录下可以直接输入 lmp_ubuntu 的后续命令了。
which lmp_ubuntu结果显示:/usr/local/bin/lmp_ubuntu
成功了。