---------ubuntu下lammps的安裝---------
一、前提條件
筆者所用操做系統爲Ubuntu18.04,Ubuntu下安裝LAMMPS並行版須要安裝必要的依賴包,(重複安裝無影響)。html
-
sudo apt-get install gcc
-
sudo apt-get install g++
-
sudo apt-get install gfortran
-
sudo apt-get install make
注意: 若是ubuntu的apt-get沒法正常使用請
sudo apt-get updateubuntu
準備安裝包
fftw-3.3.8.tar.gz http://www.fftw.org/download.html
lammps-stable.tar.gz (解壓後爲lammps-22Aug18) https://lammps.sandia.gov/download.html
mpich-3.2.1.tar.gz http://www.mpich.org/downloads/bash
準備工做:在 /home/xukang/ 文件夾下創建文件夾/lammps,將相應安裝包分別解壓這個文件夾中.
建立fftw3和mpich3文件夾用來安裝測試
接下來就是安裝fftw和mpich。操作系統
二、安裝lammps
2-1 安裝fftw.net
輸入指令:code
$ cd ~/lammps/fftw-3.3.8 $ sudo ./configure --prefix=/home/xukang/lammps/fftw --enbale-shared=yes $ sudo make $ make install
在/lammps/lammps-22Aug18/src/MAKE/OPTIONS
路徑下有Makefile.fftw文件,
經過查看如下內容可知lammps默認fftw調用路徑爲/usr/local
,htm
FFT_INC = -DFFT_FFTW3 -I/usr/local/include FFT_PATH = -L/usr/local/lib FFT_LIB = -lfftw3
2-2 安裝mpichblog
輸入指令:圖片
1. cd /home/xukang/lammps/mpich-3.2.1 2. sudo ./configure --prefix=/home/xukang/lammps/mpich 3. sudo make 4. sudo make install
在/lammps/lammps-22Aug18/src/MAKE/OPTIONS
路徑下有Makefile.g++_mpich_link文件,
經過查看如下內容可知lammps默認mpich調用路徑爲/usr/local
。
MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 -I/usr/local/include MPI_PATH = -L/usr/local/lib MPI_LIB = -lmpi -lmpl -lpthread
2-3 安裝lammps
一、串行的安裝
$ cd ~/lammps/lammps-22Aug18/src/STUBS, $ sudo make $ cd ~/lammps/lammps-22Aug18/src/MAKE
該文件夾包括Makefile.mpi、Makefile.serial兩個編譯文件。
Makefile.serial用來串行,Makefile.mpi用來並行
打開Makefile.serial文件,配置fftw的路徑便可
在/lammps/lammps-22Aug18/src/MAKE/OPTIONS
路徑下有Makefile.fftw文件,
經過查看如下內容可知lammps默認fftw調用路徑爲/usr/local
,
FFT_INC = -DFFT_FFTW3 -I/usr/local/include FFT_PATH = -L/usr/local/lib FFT_LIB = -lfftw3
但這裏要將/usr/local/
改爲你的fftw所在路徑
二、並行的安裝
打開Makefile.mpi文件,配置mpich和fftw的路徑
首先將下面部分註釋掉。
LMP_INC = -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64
(因爲lammps運行過程當中不須要圖片支持,於是將關於圖片這幾行斜線部分刪除)
還要須要修改mpich和fftw的路徑文件,
fftw與串行同樣
mpich與串行相似
在/lammps/lammps-22Aug18/src/MAKE/OPTIONS
路徑下有Makefile.g++_mpich_link文件,
經過查看如下內容可知lammps默認mpich調用路徑爲/usr/local
。
MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 -I/usr/local/include MPI_PATH = -L/usr/local/lib MPI_LIB = -lmpi -lmpl -lpthread
但這裏要將/usr/local/
改爲你的mpich所在路徑
修改完成後保存就行。
三、接下來編譯 LAMMPS 的庫文件,我這裏根據我本身的需求,選擇編譯了部分庫 文件
lib目錄下
輸入指令:
$ cd meam $ sudo make -f Makefile.gfortran $ cd poems $ sudo make -f Makefile.g++ $ cd reax $ sudo make -f Makefile.gfortran
LAMMPS 是經過各個模塊來實現分子動力學模擬裏面不一樣的功能的,但每 一個具體的任務並非須要用到 LAMMPS 全部的功能,咱們能夠選擇安 裝一些經常使用的模塊,等遇到特別的需求時再來安裝額外的模塊。每個模 塊實現的具體功能,也經過查閱 LAMMPS 使用手冊來獲知。
在 src 目錄下運行 make yes-all
這個命令告訴電腦,我要準備安裝全部的模塊了,而後再用排除法,告訴電 腦,哪些模塊是不要安裝的,好比我通常用不到 user-atc 模塊,那麼就 make no-user-atc
。我也通常用不到 kim,kokkos,voronoi, user-qmmm, gpu, user-cuda, 固然,
我用不到不表明大家用不到,要根據實際狀況來判斷。
src目錄下
$ cd lammps/lammps-22Aug18/src/ $ make package-status $ make yes-meam $ make yes-poems $ make yes-reax
四、接着make生成lmp_mpi和lmp_serial的文件
$ sudo make mpi $ sudo make serial
成功的話會生成lmp_mpi和lmp_serial的文件。
五、測試一下
到/home/xukang/lammps/lammps-22Aug18/examples/min
文件夾中
串行
$/home/xukang/lammps/lammps-22Aug18/src/lmp_serial <in.min
並行
$ /usr/local/bin/mpirun -np 3 /home/xukang/lammps/lammps-22Aug18/src/lmp_mpi < in.min
三、配置環境
此外咱們能夠設置環境變量,簡化命令。
$ vi .bashrc
在最後一行加入
export PATH="$PATH:/home/xukang/lammps/lammps-22Aug18/src:/home/xukang/lammps/mpich3/bin:/home/xukang/lammps/fftw/bin" export LD_LIBRARY_PATH=/home/xukang/lammps/fftw/lib:/home/xukang/lammps/mpich/lib:/home/**(用戶名)/lammps/lammps-22Aug18/src:$LD_LIBRARY_PATH
$ source .bashrc
使得環境生效
再次測試一下
到/home/xukang/lammps/lammps-22Aug18/examples/min
文件夾中
串行$ lmp_serial <in.min
然而並行出錯了
/home/xukang/lammps/lammps-22Aug18/src/lmp_mpi: error while loading shared libraries: libmpi.so.12: cannot open shared object file: No such file or directory
輸入ldd ~/lammps/lammps-22Aug18/src/lmp_mpi
發現libmpi.so.12 => not found
應該是libmpi.so.12不在你的LD_LIBRARY_PATH
路徑下