LAMMPS教程(2):Linux版LAMMPS安裝
1. 安裝前的準(zhǔn)備
前文《LAMMPS教程(1):VMware虛擬機(jī)Ubuntu系統(tǒng)安裝》已分享如何安裝虛擬機(jī)及Linux系統(tǒng),本文將在此基礎(chǔ)上安裝LAMMPS軟件。
具體流程可分為以下步驟:(1)安裝必要的四個(gè)編譯工具(用于將軟件編譯為計(jì)算機(jī)可識別的執(zhí)行程序);(2)安裝FFTW(用于傅里葉變換的數(shù)學(xué)程序集)和MPICH(用于并行計(jì)算的程序集);(3)安裝LAMMPS軟件、測試并優(yōu)化設(shè)置。
2. 下載安裝四個(gè)編譯工具
3. 下載FFTW、MPICH和LAMMPS安裝包
為防止網(wǎng)速問題導(dǎo)致的在線安裝失敗,這里建議先下載三個(gè)軟件的安裝包,然后傳輸?shù)絃inux系統(tǒng)中,解壓后離線安裝。
FFTW下載地址:http://www.fftw.org/download.html
MPICH下載地址:https://www.mpich.org/downloads/
LAMMPS下載地址:https://www.lammps.org/download.html
個(gè)人建議將下載的FFTW、MPICH和LAMMPS壓縮包放在同一個(gè)“l(fā)ammps”文件夾中,并解壓安裝。以筆者為例,三個(gè)安裝包分別名為“fftw-3.3.10.tar.gz”、“mpich-4.1.2.tar.gz”和“l(fā)ammps-stable.tar.gz”,均存放在“/home/lc/software/lammps”(=“~/software/lammps”)。解壓三個(gè)壓縮包的指令為:
解壓后,“l(fā)ammps”文件夾里多出“fftw-3.3.10”、“mpich-4.1.2”和“l(fā)ammps-23Jun2022”三個(gè)文件夾。
4. 安裝FFTW和MPICH
LAMMPS軟件默認(rèn)的FFTW和MPICH調(diào)用路徑均為“/usr/local”(可通過打開“~/software/lammps/lammps-23Jun2022/src/MAKE/OPTIONS”路徑下的“Makefile.fftw”文件和“Makefile.g++_mpich_link”文件查看,前者的FFT_INC、FFT_PATH和后者的MPI_INC、MPI_PATH均包含“/usr/local”字段)。為了后續(xù)編譯LAMMPS方便,將FFTW和MPI均安裝到此路徑下。
安裝FFTW:?
安裝MPICH:
其中,“./configure”指令用于執(zhí)行當(dāng)前目錄下的“configure”腳本,并生成“Makefile”文件,該文件規(guī)定了編譯器類型和參數(shù)等信息。隨后用“make”指令根據(jù)“Makefile”文件進(jìn)行編譯。
5. 安裝LAMMPS
在編譯LAMMPS軟件之前,可先查看各個(gè)功能模塊的依賴包狀態(tài):
此時(shí)會(huì)發(fā)現(xiàn)各個(gè)模塊均為“NO”的狀態(tài),要安裝其中某些模塊,需要將其設(shè)置為“YES”,指令為:
然后編譯并行計(jì)算版本的可執(zhí)行程序(串行計(jì)算幾乎沒有使用場景,因此沒必要編譯):
如果編譯成功,會(huì)生成名為“l(fā)mp_mpi”的可執(zhí)行程序文件。
未來如果想安裝其他模塊,可再次進(jìn)入該文件夾,將所需模塊的依賴包可用性設(shè)置為“YES”,然后重新編譯一下該程序即可。
6. 軟件測試和路徑設(shè)置
編譯結(jié)束后,可進(jìn)入測試文件夾,測試軟件是否安裝配置成功:
如果沒有問題,可將程序路徑寫入終端的設(shè)置中,這樣以后調(diào)用程序就不需要再輸入這么一大串文本。這一步網(wǎng)上的教程均使用vi或vim程序編輯文件,對于不熟悉Linux的新手而言比較麻煩。其實(shí)這里可以通過Xftp程序和記事本進(jìn)行編輯。首先,設(shè)置Xftp顯示隱藏文件夾,進(jìn)入“/home/lc”(=“~”)路徑;然后用記事本打開“.bashrc”文件,在文檔最后粘貼以下內(nèi)容,并保存即可(注意不要改動(dòng)其他內(nèi)容):
可通過“source ~/.bashrc”指令重新加載該文件,使內(nèi)容生效。也可以直接關(guān)閉終端,下次再開啟終端(ctrl+alt+T)時(shí)會(huì)自動(dòng)加載這部分內(nèi)容。
改動(dòng)之后,可再測試一下是否設(shè)置成功:
如果成功,則表明設(shè)置無誤。