Lammps安装教程

您现在的位置是:首页 > 科研软件 > Lammps > 正文

Lammps

Lammps安装教程

三米哥2020-11-24Lammps4347

下面是在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 没有输出的情况再编译安装mpich3和fftw3

 

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