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