Ubuntu下LAMMPS的安裝與測試


注:安裝環境:Ubuntu 16.04 LTS,LAMMPS-14May16,MPICH3.2,FFTW3.3.4,VMD1.9.3

LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是一款經典的開源分子動力學軟件,對於求解凝聚態材料、軟物質等體系效率很高,在材料模擬領域有很廣泛的應用。本文主要介紹LAMMPS的單機版、並行版以及超算中心集群上的安裝。

1 LAMMPS單機版安裝

解壓后 cd lammps-14May16/src
打開Makefile.serial,目錄為lammps-14May16/src/MAKE/
下面的幾行的意思是為計算機搭建一個虛擬的MPI庫STUBS

MPI_INC =       -I../STUBS 
MPI_PATH =      -L../STUBS
MPI_LIB =	-lmpi_stubs

單機版安裝很簡單,在src目錄下輸入命令make serial,可以發現生成了lmp_serial可執行文件,然后進入example/shear目錄測試一下,在in.shear文件中尋找下面這一行:

#dump		1 all atom 100 dump.shear  

刪掉#后運行../../src/lmp_serial < in.shear,將會生成dump.shear文件,之后將會用它來進行可視化。

2 LAMMPS並行版安裝

首先下載安裝FFTW3MPICH3,后者可以用OpenMPI替代。

安裝FFTW3.3.4
默認FFTW會安裝到/usr/local/下,但是安裝目錄可以改變./configure --prefix=/home/foo/fftw

chmod +x configure
./configure
make
sudo make install

安裝MPICH
進入解壓后的文件夾后

mkdir /home/foo/mpich-install
./configure --prefix=/home/foo/mpich-install 2>&1 | tee c.txt
make 2>&1 | tee m.txt
sudo make install 2>&1 | tee mi.txt

安裝好了mpich以后需要設置環境變量,在用戶目錄下輸入gedit .bashrc,在最后添加下面兩行,保存后輸入命令source .bashrc即可

PATH=/home/foo/mpich-install/bin:$PATH ; export PATH
export LD_LIBRARY_PATH=$PATH:/home/foo/mpich-install/lib

輸入which mpicxx,看看返回的是不是正確的路徑,如果正確的話說明安裝成功。

現在必要的軟件都安裝好了,假設你之前安裝過單機版的LAMMPS,首先進入lammps-14May16/src目錄清理一下sudo make clean-all。如果有特殊需求,那么在安裝lammps可執行文件之前要先安裝一些額外的包,如在正式編譯之前輸入這樣的命令make yes-class2 yes-rigid yes-shock,即首先要安裝class2、rigid、shock包。這些包的安裝比較簡單,但還有一些包的安裝需要額外的庫,如果在實際科研中用到,參考Manual安裝即可。

編譯LAMMPS
注:編譯的時候Makefile里的編譯器選項如果設置成mpicxx的話,后面的MPI相關選項就可以不必設置
下面是簡便的編譯方案——在MAKE/OPTIONS目錄里面尋找Makefile.g++_mpich和Makefile.fftw這兩個Makefile,把后者設置fftw的部分整體復制到Makefile.g++_mpich里的對應位置(如果前面修改了fftw的安裝目錄,則要做必要的修改),將這個文件復制到MAKE/MINE里面,修改文件名為Makefile.foo

回到src目錄,命令行輸入sudo make foo -j 4,注意這里的foo即為Makefile.xxx的后綴(我用了4個核來編譯,可以在make后緊接着加-j N來表示使用N個核編譯,如果順利的話,可以生成lmp_foo可執行文件

將LAMMPS添加到環境變量
不想在以后調用lammps求解時都得輸入絕對路徑,那就把它加到環境變量里吧(參考上面的添加方法):

PATH=/home/foo/lammps-14May16/src:$PATH ; export PATH

測試一下

cd ../examples/shear/

在in.shear文件中尋找下面這一行,並將前面的#刪掉:

#dump		1 all atom 100 dump.shear

運行mpiexec -n 4 lmp_foo < in.shear,順利的話可以生成dump.shear文件。

其他莫名其妙的錯誤
大多數錯誤都源自於少了某些依賴包(看到那些紅色的fatal error尤其可能),使用sudo apt-get + Baidu就可以解決大部分問題,因此不必慌亂。

3 LAMMPS集群安裝

在一般的超算平台上編譯,需要ssh到編譯節點,例如ssh gs0110,然后在用戶節點下編譯fftw

如果計算中心節點有openmpi並行環境,修改Makefile.g++_openmpi文件,把fftw3的標識路徑按照Makefile.fftw的形式修改為自己安裝的路徑。最后修改Makefile.g++_openmpi文件名為Makefile.foo

進入src文件夾,make foo -j 12

4 使用VMD可視化

計算完了,看着命令行飛速的閃過一行行的數據,很過癮吧:P。可是計算完了以后呢?LAMMPS到底干了些什么?這就需要進行可視化,把計算結果用圖片或者動畫的形式形象的展現在我們的眼前,下面我就用前面產生的dump文件,用VMD來進行可視化操作。

進入VMD網站,提示還要注冊,沒關系。下載一個對應於自己計算機的壓縮包,我下載的是vmd-1.9.3.bin.LINUXAMD64-CUDA8-OptiX4-OSPRay111p1.opengl.tar.gz。進入文件夾后,注入命令./configure會提示你輸入在后面加上LINUXAMD64(或別的類似的),因此安裝流程如下:

cd vmd-1.9.3
./configure LINUXAMD64
cd src
sudo make install

安裝成功以后直接在命令行里輸入vmd就可以將程序調出來,選擇New Molecule,然后導入我們之前計算得到的dump.shear文件,記得在Determine file type一欄選擇LAMMPS trajectory選項。

導入以后,可以得到這樣的構型,拖動main對話框下面的滑動條就可以看到體系的剪切行為,大功告成!

5 MD相關資源推薦

對剛剛接觸這一個領域的初學者而言,一些指引是很有必要的。我就把我覺得有用的資源貼在這里,以后也會經常更新,供需要的同學參考。

祝大家學習愉快,以后的科研生活步步順利!

軟件:

  • VMD:不用多說了吧,很強大的一款后處理軟件。
  • Atomeye:MIT的一位博士自己寫的,通過一些指令來實現可視化操作,使用起來很方便。
  • Avogadro:界面很友好,開源的,在Ubuntu下需要安裝各種各樣的依賴軟件,我沒弄成功,所以在Windows里使用。我感覺和Materials Studio有點類似,直接能夠建立分子甚至DNA雙螺旋結構。
  • EMC:主要用來建立隨機結構。
  • Packmol: 命令很簡單,用於建立分子隨機排布效果挺好的。
  • moltemplate:很強大,我用的很多。可以按照自己的想法來建立模型,沒有圖形界面,主要通過代碼式的操作,因此需要和VMD等聯合起來使用。
  • OVITO:全平台的可視化軟件,Windows和Ubuntu中都可以使用,操作簡便。

資料:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM