linux 安装 lammps.docx
《linux 安装 lammps.docx》由会员分享,可在线阅读,更多相关《linux 安装 lammps.docx(12页珍藏版)》请在冰点文库上搜索。
linux安装lammps
方法一:
【原创】Linux下安装单机多核并行lammps(附meam包)(2010-12-0808:
45:
50)转载▼标签:
lammps并行安装meam分类:
计算材料
总结:
Linux下安装单机并行lammps
○.机器配置:
1.处理器:
IntelXEON×2
2.主板:
IntelS5500BC
3.内存:
金士顿4G×6
4.操作系统:
RedhatEnterprise5.3x86_64
一.下载需要的源文件
fftw-2.1.5.tar.gz
下载地址:
http:
//www.fftw.org/download.html
mpich2-1.0.2p1.tar.gz
下载地址:
http:
//wilbur.mcs.anl.gov/pub/mpi/old/
lammps-1Dec10.tar.gz
下载地址:
http:
//lammps.sandia.gov/tars/
并以root身份(以下均在root下)拷贝到/usr/local/src目录下
二.安装FFTW
#tarxvzffftw-2.1.5.tar.gz
#cdfftw-2.1.5
#./configure--prefix=/opt/mathlib/fftw215-gnu--enable-float
#make
#makeinstall
三.安装MPICH2
#tarxvzfmpich2-1.0.2p1.tar.gz
#cdmpich2-1.0.2p1
#./configure--prefix=/opt/mpich2-gnu
#make
#makeinstall
如果不出错,应该就是安装成功了。
接下来的工作时进行配置。
MPI应用一个管理器来管理运行MPI程序,这个管理器就是mpd,但是在正式开始运行mpd前还需要一个基于安全考虑的配置文件.mpd.conf,这个文件是要放在运行程序的用户的home目录下,本例子中就是/home/mpi/.mpd.conf,而且这个文件只能由这个用户读写,创建文件的命令是,
#cd$HOME
#touch.mpd.conf
#chmod600.mpd.conf
什么意思,我暂时也不太清楚,但是就这么做就可以了。
可参考:
四.安装lammps,附带meam包
#tarxvzflammps-1Dec10.tar.gz
#cdlammps-1Dec10/cdlib/meam/
#make-fMakefile.gfortran(intallmeam,youcanalsochooseotherversions)
#cd../src/MAKE
#vimMakefile.g++(edittheMakefile)
***********************************Makefile.g++beginn**********************************
(说明:
红色字表示改动或添加的部分)
#g++=RedHatLinuxbox,g++4,gfortran,MPICH2,FFTW
SHELL=/bin/sh
#---------------------------------------------------------------------
#compiler/linkersettings
#specifyflagsandlibrariesneededforyourcompiler
CC=g++
CCFLAGS=-g-O-DFFT_FFTW-DLAMMPS_GZIP-DMPICH_IGNORE_CXX_SEEK\
-I/opt/mathlib/fftw215-gnu/include\
-I/opt/mpich2-gnu/include\
-I../../lib/meam
DEPFLAGS=-M
LINK=g++
LINKFLAGS=-g-O-L/opt/mathlib/fftw215-gnu/lib\
-L/opt/mpich2-gnu/lib\
-L../../lib/meam
LIB=
ARCHIVE=ar
ARFLAGS=-rc
SIZE=size
#---------------------------------------------------------------------
#LAMMPS-specificsettings
#specifysettingsforLAMMPSfeaturesyouwilluse
#LAMMPSifdefoptions,seedoc/Section_start.html
LMP_INC=-DLAMMPS_GZIP
#MPIlibrary,canbesrc/STUBSdummylib
#INC=pathformpi.h,MPIcompilersettings
#PATH=pathforMPIlibrary
#LIB=nameofMPIlibrary
MPI_INC=-DMPICH_SKIP_MPICXX
MPI_PATH=
MPI_LIB=-lmpich-lpthread
#FFTlibrary,canbe-DFFT_NONEifnotusingPPPMfromKSPACEpackage
#INC=-DFFT_FFTW,-DFFT_INTEL,-DFFT_NONE,etc,FFTcompilersettings
#PATH=pathforFFTlibrary
#LIB=nameofFFTlibrary
FFT_INC=-DFFT_FFTW
FFT_PATH=-I/opt/mathlib/fftw215-gnu/include
FFT_LIB=-lfftw
#additionalsystemlibrariesneededbyLAMMPSpackagelibraries
#thesesettingsareIGNOREDifthecorrespondingLAMMPSpackage
#(e.g.gpu,meam)isNOTincludedintheLAMMPSbuild
#SYSLIB=namesoflibraries
#SYSPATH=pathsoflibraries
gpu_SYSLIB=-lcudart
meam_SYSLIB=-lgfortran-lmeam-lpthread
reax_SYSLIB=-lgfortran
user-atc_SYSLIB=-lblas-llapack
gpu_SYSPATH=-L/usr/local/cuda/lib64
meam_SYSPATH=-L../../lib/meam
reax_SYSPATH=
user-atc_SYSPATH=
……以下省略……
***********************************Makefile.g++end**********************************
#makeclean-all(清除临时文件,如果你之前已经编译过lammps,需要执行此操作)
#makeyes-MEAM(告诉lammps要编译meampackage)
#makeg++
经过数十秒的字符流闪屏,如果没有出现意外,应该会在当前目录(src)下生成lmp_g++文件。
恭喜你!
你已经成功安装lammps!
使用makepackage-status可以查询meam是否正确安装。
InstalledNO:
packageASPHERE
InstalledNO:
packageCLASS2
InstalledNO:
packageCOLLOID
InstalledNO:
packageDIPOLE
InstalledNO:
packageDSMC
InstalledNO:
packageGPU
InstalledNO:
packageGRANULAR
InstalledYES:
packageKSPACE
InstalledYES:
packageMANYBODY
InstalledYES:
packageMEAM
InstalledYES:
packageMOLECULE
InstalledNO:
packageOPT
InstalledNO:
packagePERI
InstalledNO:
packagePOEMS
InstalledNO:
packageREAX
InstalledNO:
packageREPLICA
InstalledNO:
packageSHOCK
InstalledNO:
packageSRD
InstalledNO:
packageXTC
InstalledNO:
packageUSER-ACKLAND
InstalledNO:
packageUSER-ATC
InstalledNO:
packageUSER-CD-EAM
InstalledNO:
packageUSER-CG-CMM
InstalledNO:
packageUSER-EFF
InstalledNO:
packageUSER-EWALDN
InstalledNO:
packageUSER-IMD
InstalledNO:
packageUSER-REAXC
InstalledNO:
packageUSER-SMD
五.运行lammps
为了方便运行lammps,将lammps添加到路径中。
这里我通过添加ln命令实现。
#cd/usr/local/bin(这里,我默认已经将该目录添加到路径了。
)
#ln-s/usr/local/src/lammps-1Dec10/lmp_g++
然后就可以尝试运行一个例子:
cd到example/meam目录下
#lmp_g++如果是要并行运行,可以输入:
#mpd&(开机只输入一次就行了)
#mpirun-np4lmp_g++方法二:
原文地址:
linux下安装lammps具体过程作者:
标度
linux下安装lammps具体过程os=centos5.5
Suroot
jpegsrc.v8c.tar.gz
tarvxfjpegsrc.v8b.tar.gz
cdjpeg-8c
./configure--prefix=/opt/mathlib/jpeg
make
makeinstall
安装mpich
mpich-1.2.7p1。
tar.gz
tarvxfmpich-1.2.7p1。
tar.gz
cdmpich-1.2.7p1
./configure--prefix=/opt/mpich-gnu
安装fftw
fftw-2.1.5.tar.gz
tarvxffftw-2.1.5.tar.gz
cdfftw-2.1.5
./configure--prefix=/opt/mathlib/fftw215-gnu--enable-float
make
makeinstall
打印
hostname以得到机器名字
vi/etc/hosts.equiv
加入主机名
suusername(Therefore,youcanuseyouraccounttorunlammps.)
tarxvzflammps.tar.gz
cdlammps-14Jul11/src
viMAKE/Makefile.g++
g++4changetog++
参照上面安装的软件路径做如下更改:
MPI_INC=-DMPICH_SKIP_MPICXX-I/opt/mpich-gnu/incluse
MPI_INC=-DMPICH_SKIP_MPICXX-I/opt/mpich-gnu/include
MPI_PATH=-L/opt/mpich-gnu/lib
MPI_LIB=-lmpich-lpthread
FFT_INC=-DFFT_FFTW-I/opt/mathlib/fftw215-gnu/include
FFT_PATH=-L/opt/mathlib/fftw215-gnu/lib
FFT_LIB=-lfftw
JPG_INC=-I/opt/mathlib/jpeg/include
JPG_PATH=-L/opt/mathlib/jpeg/lib
JPG_LIB=/opt/mathlib/jpeg/lib/libjpeg.a
保存后
执行
makeg++
cd../bench
ThenyoucantestyourLammps.
方法三:
gunziplammps*.tar.gz
tarxvflammps*.tar
后得到lammps-*文件夹
ubuntu是否自带编译器,如果没有,用sudoapt-getinstallbuild-essential这个命令安装
(我也不知道有没有于是把命令打进去了)
进入终端在
~lammps-*/src/STUBS目录下,输入make,回车。
如果你的系统安装的编译器不是i㏄而是gcc,那么需要把src/MAKE/Makefile.serial文件中"CC=icc"和"LINK=icc"两处的icc改为g++。
(在这里我的Makefile.serial文件里icc处是g++4,我的安装过程中主要问题就出在这里)
返回src/,选择你要加入编译的packages
相关命令是:
makeyes-name,makeno-name。
(默认是安装3个包这里我又安装了COLLOID)
~lammps-*/src/目录下,输入makeserial,回车。
(一路通过)
~lammps-*/src/目录下,会生成了一个名为lmp_serial的可执行文件
(看到这个lmp_serial别提多激动了)
已经写好输入文件in.name(如果有data文件的话,连同data文件)和编译得到的lmp_serial放在同一个目录下,如/Desktop/compute/。
从终端进入到这个目录。
所需要的命令是:
cd~/Desktop/compute然后,在终端输入./lmp_serial(我把lmp_serial复制到example的colloid里然后在终端./lmp_serial~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
接下来开始研究VMD一下内容来自上面的帖子
VMD的简单使用:
File->NewMolecule…Browse…thenLoad读入xyz文件
Graphics->Representation…
CreateRep新建层(VMD中对同一个Rep中所有原子的大小颜色同时控制,所以要对不同种类的原子分别设置显示效果,需要新建几个Rep)
Selections结合Keywords和Value设置每个层中的原子。
(SelectedAtoms中把all删除,然后双击某个Keywords如type,然后再在Value栏里双击某个种类,之后Apply)
Drawstyle中ColoringMethod建议选择ColorID,然后在后面选择颜色;DrawingMethod建议选择Beads,然后在SphereScale和SphereResolution中调整球的大小和清晰度
计算结果的数据处理在lammps中也显得不是很方便,你可能需要自己编程进一步处理。
至于一些数据曲线的作图,Windows下的Origin,Linux下的labplot足以应付这个问题了。
以上我只是把features.html和non_features.html里面的内容结合我的理解简单地说了几句。
方法四:
安装
基本按下面这个过程安装的,自己还修改了一些makefile,不是完全参照的。
安装中提示很多文件不能识别,查的原因是缺少头文件,在fix_poems.cpp中添加#include,问题解决。
({}内容转自网络)
{下载并解压缩源文件包以后,进入解压后路径下的src/目录,只要简单的“makedebian”就可以得到可执行文件(lmp_debian)
得到lmp_debian之后,就可以运行那些例子了。
但是你并没有得到lammps所支持的所有功能。
lammps支持package,有系统自带的也有用户自行开发的。
默认只编译"kspace","manybody",和"molecule"三个系统自带的包。
其他还有一些“asphereclass2colloiddipoledpdgranularmeamoptpoemsxtc”包没有编译进可执行程序,也就是说你不能使用那些额外功能。
如果需要全部编译。
这可以通过先“makeyes-all”然后“makeclean”,"makedebian"来完成。
稍微有一点麻烦的是,有两个包“meam”和“poems”是第三方开发的独立程序,源代码并没有在src目录下。
你需要到../lib/中才可以看见它们的目录,需要分别编译。
先说poems,应该用用于刚体模拟的,进入lib/poems/后,直接“makeMakefile.g++”
再说编译meam,这个meam是fortran写的,前面由于已经安装了gfortran,作者也给了Makefile.gfortran,所以只要“makeMakefile.gfortran”即可得到libmeam.a了
到这里,我们准备好了所有的lammps附属包,可以重新编译最终的可执行文件了。
为了能让编译器找到需要库和头文件,我们还需手工修改一下makefile。
我这里就是修改src/MAKE/Makefile.debian。
要改这三行:
CCFLAGS=-g-O-I/usr/lib/mpich/include/-DFFT_FFTW-DLAMMPS_GZIP-I/lammps全路径/lib/poems/-I/lammps全路径/lib/meam/
LINKFLAGS=-g-O-L/lammps全路径/lib/poems/-L/lammps路径/lib/meam/
USRLIB=-lfftw-lmpich-lpoems-lmeam-lgfortran-lgfortranbegin
注意加粗的地方是要添加的。
大致的意思就是告诉编译器哪里有额外的库文件,头文件。
}
方法五:
下载之后,你会得到一个*.tar.gz的压缩文件包,在linux的终端,用以下的命令解压.gunziplammps*.tar.gz
tarxvflammps*.tar
之后,你会得到一个名为lammps-*的文件夹(注意,这里的*是通配符).最新版本的lammps是用C++写的,编译之前,你的linux系统中需要有一个编译器.抱歉地说,我忘记ubuntu是否自带这个编译器了,如果没有的话,用sudoapt-getinstallbuild-essential这个命令安装,这需要你的系统管理员帐户和密码.
下面说ubuntu下编译单机版的lammps的过程(并行的编译我还没去学习,如果需要,建议你查阅这个帖子----Byhooge.lu).
补充说明一点:
~lammps/src/MAKE目录下的makefile.serial首行注释为“#serial=RedHatLinuxbox,icc,noMPI,noFFTs”这表示默认的C++编译器为Intel的icc,如果你按照前述安装了build-essential,需要你将该文件中以下几行中出现的两个icc改为gcc然后保存,再进行编译.
CC=icc
CCFLAGS=-O-I../STUBS-DFFT_NONE
DEPFLAGS=-M
LINK=icc
LINKFLAGS=-O-L../STUBS
USRLIB=-lmpi
SYSLIB=-lstdc++
ARCHIVE=ar
ARFLAGS=-rc
SIZE=size
首先到~lammps/src/STUBS目录下,输入make,回车.
然后返回到~lammps/src/目录下,输入makeserial,回车.
好了,现在你会看到屏幕上的字幕流,表示lammps正在被编译.喝口茶,等会儿,剩下的事情ubuntu会帮你搞定.如果成功编译,在~lammps/src/目录下,会生成了一个名为lmp_serial的可执行文件,计算,就是靠它了.(返回本文目录)