ubuntu下lammps的安裝

---------ubuntu下lammps的安裝---------

一、前提條件

筆者所用操做系統爲Ubuntu18.04,Ubuntu下安裝LAMMPS並行版須要安裝必要的依賴包,(重複安裝無影響)。html

  1. sudo apt-get install gcc
  2. sudo apt-get install g++
  3. sudo apt-get install gfortran
  4. 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/localhtm

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路徑下

相關文章
相關標籤/搜索