天天看点

LAMMPS安装更新基本需求安装编译环境安装fftw安装mpich安装lammps

文章目录

  • 更新
  • 基本需求
  • 安装编译环境
  • 安装fftw
    • 准备
    • 配置安装位置及安装
    • 配置路径
  • 安装mpich
    • 准备
    • 配置安装位置及安装
    • 配置路径
  • 安装lammps
    • 准备
    • 安装配置
    • 切换用户
    • 编译
    • 版本管理
    • 可能出现的问题及解决
      • `mpicxx:cammond not found`

记录LAMMPS的编译过程,方便自己使用。

欢迎大家访问我的个人网站www.joezhouman.com查看原文

更新

  • 2021年10月1日10:50:22更新

    mpicxx:cammond not found

    错误的解决方案。

基本需求

  • gcc, g++, gfortran, make
  • fftw
  • mpich
  • lammps

建议使用最新版本,新版本会修复很多bug,没有什么某个特定版本最好用一说。

安装编译环境

我一般用的Ubuntu,所以直接

安装fftw

准备

下载

*.tar.gz

文件至服务器上,解压并进入解压后的文件夹

tar -zvxf fftw*.tar.gz
cd fftw*
           

配置安装位置及安装

一般用户的库最好放在

/usr/local

目录里,我喜欢按库名及版本号分别命名下级文件夹,方便版本管理,即放在

/usr/local/库名/版本号

下,

比如这次放在

/usr/local/fftw/3.3.8

sudo ./configure --prefix=/usr/local/fftw/3.3.8 --enable-shared=yes
sudo make -j4 #(这是并行编译,4为编译的线程数,可以加快编译速度)
sudo make install
           

等待安装完成。

配置路径

修改

~/.bashrc

文件,将类库安装文件夹下的

bin

lib

文件夹加入路径中。

#My Path
export PATH=$PATH:/usr/local/fftw/3.3.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/fftw/3.3.8/lib
           

PATH

LD_LIBRARY_PATH

添加相应路径,如果没有,则把以上内容都加上去。

修改完后,使用

source ~/.bashrc
           

使路径生效

安装mpich

准备

下载

*.tar.gz

文件至服务器上,解压并进入解压后的文件夹

tar -zvxf mpich*.tar.gz
cd mpich*
           

配置安装位置及安装

基本思想与上面一样,这里只列出命令

sudo ./configure --prefix=/usr/local/mpich/3.3.2 --enable-shared=yes
sudo make -j4 #(这是并行编译,4为编译的线程数,可以加快编译速度)
sudo make install
           

配置路径

#My Path
export PATH=$PATH:/usr/local/fftw/3.3.8/bin:/usr/local/mpich/3.3.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/fftw/3.3.8/lib:/usr/local/mpich/3.3.2/lib
           

修改完后,使用

source ~/.bashrc
           

使路径生效

which mpirun
           

检查一下,如果给出的是刚才路径下的

bin

文件夹,则修改成功。

安装lammps

准备

下载

*.tar.gz

文件至服务器上,解压并进入解压后的文件夹

tar -zvxf lammps*.tar.gz
cd lammps/src/MAKE*
           

安装配置

在上面进入的路径下寻找

Makefile.mpi

文件,对其进行修改。如果该路径下没有这一文件,就去下一级的

MACHIES

里复制一个过来。

在对于位置填上

fftw

mpich

的相关路径,最终效果如下

# MPICH
MPI_INC =   -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 -I/usr/local/mpich/3.3.2/include
MPI_PATH = -L/usr/local/mpich/3.3.2/lib
MPI_LIB =	-lmpi -lmpl -lpthread

# FFTW
FFT_INC =    -DFFT_FFTW3 -I/usr/local/fftw/3.3.8/include
FFT_PATH =  -L/usr/local/fftw/3.3.8/lib
FFT_LIB =	-lfftw3

# JPEG一般用不到,直接注释掉
#JPG_INC =       
#JPG_PATH = 	
#JPG_LIB =
           

切换用户

lammps 需要使用root用户进行安装

切换至root用户。

将上面的

fftw

及·

mpich

的路径同样添加在

/root/.bashrc

中,方法同上。

安装时出现

mpicxx:cammond not found

错误的可能是没做这一步。

编译

修改完后,返回

src

文件夹,进行编译

cd ..
make yes-all #安装所有包
make no-lib #取消安装需要外链的包
sudo make mpi -j40
           

成功的话

src

路径下会有一个

lmp_mpi

可执行文件

版本管理

执行到上一步其实

lammps

已经可以用了,但为了我们使用的方便,有时需要多个编译版本同时存在,这就需要我们对可执行文件进行版本管理。

我的方法是将

lammps

可执行文件放到同一个文件夹下,我习惯放在

/opt/lammps

里。

然后按

lmp_LAMMPS版本号_编译版本说明

重命名

如此次

然后把对应的路径加入环境变量中

export PATH=$PATH:/usr/local/fftw/3.3.8/bin:/usr/local/mpich/3.3.2/bin:/opt/lammps
           

大功告成

可能出现的问题及解决

mpicxx:cammond not found

  1. 见上方

    切换用户

    部分
  2. 在安装

    fftw

    mpich

    时加上配置

    --enable-shared=yes

    (见相应部分)
  3. fftw

    mpich

    安装至

    lammps

    的默认目录,即

    /usr/local/

继续阅读