天天看點

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/

繼續閱讀