lammps 在Ubuntu 16.04LTS服務(wù)器并行安裝—— ATC 擴(kuò)展包的安裝
本文來(lái)源:“分子動(dòng)力學(xué)”公眾號(hào)
原文鏈接:https://mp.weixin.qq.com/s/box3_u5LpB9GtQlevt1DDQ
假裝所有的依賴(lài)包都沒(méi)有安裝,那么在root權(quán)限下輸入下面的命令: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
首先進(jìn)入 lammps-11Aug17/lib/linalg 目錄:
cd lammps-11Aug17/lib/linalg/
運(yùn)行命令:make -f Makefile.gfortran
即可生成 liblinalg.a 文件,以備后用。
在 lammps-11Aug17/src 目錄內(nèi)預(yù)編譯:
make lib-atcmake lib-atc args="-m mpi"
編譯成功在最后都會(huì)顯示:Build was successful編譯成功后,會(huì)在目錄lammps-11Aug17/lib/atc 內(nèi)生成兩個(gè)文件:libatc.a 和 Makefile.lammps這個(gè)Makefile.lammps 里面有 ATC 所需要的信息。
cd lammps-11Aug17/src/MAKE/MACHINES
把Makefile.ubuntu復(fù)制到 src/MAKE 目錄下:cp Makefile.ubuntu …/
可以看到此時(shí) lammps-11Aug17/src/MAKE目錄下有下面三個(gè)Makefile文件:Makefile.mpi Makefile.serial Makefile.ubuntu
把lammps-11Aug17/lib/atc/Makefile.lammps 的信息添加到 Makefile.ubuntu 內(nèi)
如下:
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)
同時(shí),的ubuntu服務(wù)器不需要輸出圖片,因此在目錄 lammps-11Aug17/src/MAKE 內(nèi)的Makefile.ubuntu 里把 jpg 有關(guān)的行都注釋掉,否則后面的安裝會(huì)出問(wèn)題。如下,灰色背景的部分刪掉:############################################################################## 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/目錄下執(zhí)行:
make package-status查看有哪些包是yes態(tài)和no態(tài);yes表示安裝,no表示不安裝。用make yes-包名或make no-包名, 加載/取消你安裝的包。選擇自己必要的包就行了,特別注意,選擇了需要的包,也得跟自己的電腦支持情況對(duì)應(yīng)。我的選擇有: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
命令,等待安裝,經(jīng)過(guò)漫長(zhǎng)的安裝過(guò)程之后,屏幕提示生成 lmp_ubuntu ,即安裝好了。此文件在目錄lammps-11Aug17/src 內(nèi)。
并把lmp_ubuntu復(fù)制到目錄:/usr/local/bin 內(nèi)cp lmp_ubuntu /usr/local/bin
安裝完成后設(shè)置環(huán)境變量sudo vim /etc/profile
#在文件最下面加入如下內(nèi)容export PATH=/usr/local/bin:$PATH
#保存關(guān)閉文件后執(zhí)行:source /etc/profile
那么并行版的lammps就安裝好了,安裝目錄在/usr/local/bin在其他目錄下可以直接輸入 lmp_ubuntu 的后續(xù)命令了。
which lmp_ubuntu結(jié)果顯示:/usr/local/bin/lmp_ubuntu
成功了。