Lammps安裝教程

Lammps安裝教程
下面是在linux集羣下安裝lammps的過程,如有錯誤,望指正。

 

安裝平臺:centos  intel icc,ifort ,mpich3(intel編譯器編譯),fftw3(intel編譯器編譯);jpeg8a (intel編譯器編譯)。確定Icc ifort安裝在正確,並加入到環境變量, which icc命令會有正確路徑顯示, mpich3 fftw3 jpeg安裝在/opt/下面

 

 

1、  解壓,在src/目錄下輸入:make yes-all (先把所有包安裝了)

2、  在src/目錄下輸入:make no-lib (卸載一些需要鏈接外部數學庫的package)

3、  安裝lib/下的poems、mean和reax三個包:

cd ~/LAMMPS/lib/meam

gedit Makefile.lammps

其中

meam_SYSINC =

meam_SYSLIB = -lifcore -lsvml –liompstubs5 -limf    畫線部分改爲-lgfortran

meam_SYSPATH = -L/opt/intel/fce/10.0.023/lib     刪除畫線部分

make -f Makefile.ifort   (安裝meam)

 

cd ~/LAMMPS/lib/poems

make -f Makefile.icc

cd ~/LAMMPS/lib/reax

更改Makefile.lammps中的 lompstub 爲 liompstubs5

make –f Makefle.ifort

         然後src/目錄下make yes-poems, make yes-meam, make yes-reax

 

4、修改src/MAKE/目錄下的Makefile.linux如下:

 

CC =            icc

CCFLAGS =       -O

DEPFLAGS =      -M

LINK =          icc

LINKFLAGS =     -O

LIB =           -lstdc++

ARCHIVE =       ar

ARFLAGS =       -rc

SIZE =          size

 

 

MPI_INC =       -I/opt/mpich3/include -DMPICH_SKIP_MPICXX

MPI_PATH =      -L/opt/mpich3/lib

MPI_LIB =       -lmpich -lmpl -lpthread

 

FFT_INC =       -I/opt/fftw/include -DFFT_FFTW3

FFT_PATH =      -L/opt/fftw/lib

FFT_LIB =       -lfftw3

 

JPG_INC =       -I/opt/jpeg8b-intel/include

JPG_PATH =      -L/opt/jpeg8b-intel/lib

JPG_LIB =       -ljpeg

5、在src/目錄下 make linux,正常的話會生成lmp_linux可執行文件,可講其copy到bench或者example文件夾下測試。

 

 

下面是安裝過程中可能遇到的問題:

Jpeg9a沒有通過,但是jpeg8b通過了,可以是因爲lammps版本比jpeg9a版本高。

 

 

錯誤:ld: cannot find –lompstub

解決辦法:http://simulation.haotui.com/viewthread.php?tid=39248

(此問題是intel編譯器遇到的問題)

lib/reax/Makefile.lammps
-lompstub -> -liompstubs5
lib/meam/Makefile.lammps
-lompstub -> -liompstubs5

 

 

測試:將lmp_linux複製到example/colloid文件夾,在終端運行:./lmp_linux<in.colloid

出現錯誤:./lmp_linux: error while loading shared libraries: libjpeg.so.8: cannot open shared object file: No such file or directory

解決:修改環境變量,在~/.bashrc中加入下面一行:

export LD_LIBRARY_PATH=/opt/jpeg8b-intel/lib:$LD_LIBRARY_PATH

LD_LIBRARY_PATH是動態庫路徑,動態庫.so文件編譯時候不需要,編譯的時候需要靜態庫.a文件。沒有.so文件但是正確指定了.a文件的路徑,可以正常編譯成可執行文件,但是運行的時候會出錯。所以需要將.so文件路徑加到LD_LIBRARY_PATH中,因爲程序運行的時候自動搜索這些路徑需找相應的.so文件。

 

切換到計算機點上遇到類似問題:./lmp_linux: error while loading shared libraries: libifcore.so.5: cannot open shared object file: No such file or directory

解決:在~/.bashrc 中加入下面一行:

Export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013.1.117/compiler/lib/intel64:$LD_LIBRARY_PATH

計算節點上intel的動態庫路徑和主節點不一致,所以需要添加。

 

 

另外可以在~/.bashrc中加入下面兩行:

export PATH=/home/wangyanfang/LAMMPS/src:$PATH

export PATH=/opt/mpich3/bin:$PATH

加入第一行後,以後運行程序時不用再將lmp_linux複製到相應目錄,直接用lmp_linux<in.colloid 就行;

第二行是平行的時候用到的mpi,個人推薦mpich3,比較簡單,不用啓動mpd,直接運行mpiexec就行,例如:mpiexec -n 4 lmp_linux<in.colloid

 

 

 

 

 

 

 預安裝:

fftw:

#yum install fftw3 fftw3-dev pkg-config

 

mpich

安裝教程 :https://blog.csdn.net/qq_33892998/article/details/78687529

 

jpeglib

教程:

下載地址 :https://sourceforge.net/projects/libjpeg/files/libjpeg/

 

安裝平臺:centos  gcc ,g++ ,mpich3(intel編譯器編譯),fftw3(intel編譯器編譯),jpeglib;

Icc ifort安裝在/opt/intel下,mpich3 fftw3 jpeglib安裝在/share/apps/下面

特別注意:此安裝步驟是在只有gnu編譯器情況下,如果有intel編譯器,需要把intel的相關環境變量刪掉,which icc 沒有輸出的情況再編譯安裝mpich3fftw3

 

1、  解壓,在src/目錄下輸入:make yes-all (先把所有包安裝了)

2、  在src/目錄下輸入:make no-lib (卸載一些需要鏈接外部數學庫的package)

3、  安裝lib/下的poems、mean和reax三個包:(http://blog.sina.com.cn/s/blog_9d62fc9601018fbc.html)或附錄A

         然後src/目錄下make yes-poems。。。。。。。

 

4、修改src/MAKE/目錄下的Makefile.g++如下:

 

CC =            g++

CCFLAGS =       -g -O # -Wunused

DEPFLAGS =      -M

LINK =          g++

LINKFLAGS =     -g -O

LIB =

ARCHIVE =       ar

ARFLAGS =       -rc

SIZE =          size

 

MPI_INC =       -I/share/apps/mpich3-gnu/include -DMPICH_SKIP_MPICXX

MPI_PATH =      -L/share/apps/mpich3-gnu/lib

MPI_LIB =       -lmpi

 

 

FFT_INC =       -I/share/apps/fftw-gnu/include -DFFT_FFTW3

FFT_PATH =      -L/share/apps/fftw-gnu/lib

FFT_LIB =       -lfftw3

 

 

JPG_INC =       -I/share/apps/jpeg-gnu/include

JPG_PATH =      -L/share/apps/jpeg-gnu/lib

JPG_LIB =       -ljpeg

 

5、在src/目錄下 make g++,正常的話會生成lmp_g++可執行文件,可講其copy到bench或者example文件夾下測試。這樣安裝的在集羣計算節點也能正常運行。

 

 

附錄A

 

查看已經安裝了那些包

make package-status

需要特殊安裝就

make yes-meam

make yes-reax

make yes-peri    即make yes-*

也可以make yes-all,會因缺少文件出錯所以不建議,也可都卸載make no-all

 (幾個特殊的package:meam,poems,reax,gpu,user-atc需要特別安裝,如下)

同時注意,因爲你用的是gfortran編譯器,所以裏面有個Makefile.lammps的文件需要修改一下,poems不用它用的是g++編譯器:

cd /mnt/lmp/lib/meam

gedit Makefile.lammps

其中

meam_SYSINC =

meam_SYSLIB = -lifcore -lsvml –lompstub-limf    畫線部分改爲-lgfortran

meam_SYSPATH = -L/opt/intel/fce/10.0.023/lib     刪除畫線部分

make -f Makefile.gfortran   (安裝meam)

cd /mnt/lmp/lib/poems

make -f Makefile.g++

cd /mnt/lmp/lib/reax

gedi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章