lammps在怎么装linux系统统中怎么计算

小木虫 --- 500万硕博科研人员喜爱的学术科研平台
&&查看话题
lammps分子动力学模拟菜鸟入门求助
各位好!本人是分子模拟菜鸟,做的是高温熔体结构和能量计算方面,需要用ME或者lammps计算。对于lammps计算有几个问题想求教下:
1.win系统是否不适合做lammps计算?如果用win的话是否只能做串行计算而不能做并行计算了,因为我看到论坛里面有教怎么在win系统下安装和运行lammps,可是只有串行计算安装和运行成功了,并行没能成功。
2.如果用win系统运行lammps,是否只能用写好了的in.colloid文件,而不能对in.colloid文件代码进行修改。如果要修改代码需要在什么环境下去进行?
3.win系统下的串行和并行是针对不同规模的计算体系有不同的适应性吗,还有lammps对计算机配置要求高吗,实验室电脑比较弱,不知能不能正常计算。
希望大家不吝赐教,多谢了!
多些解答!
还有点不明白的是win系统下修改in文件是要在什么环境下呢,如果用linux系统是否就没有串行、并行之分了,只用编写代码就行了吗?
多些指点,受益良多。
多逛逛论坛吧兄弟。。
研究生必备与500万研究生在线互动!
扫描下载送金币LAMMPS编译
[原创]《LAMMPS Step by
Step》----LAMMPS编译
相关搜索: , ,
LAMMPS编译
fatcharm(肥超)
& 2007年,曾写过《》,反响不错,颇为欣慰。LAMMPS的发展可以说是日新月异,相比三年前,更是有了很大的变化。结合RCS的发行,我想再写一个连载,题目暂定做《LAMMPS Step by Step》。
& 只所以想写这样一个连载,仅仅是对于自己使用LAMMPS的一个总结,其中的大部分内容,来自LAMMPS手册、mdbbs上【LAMMPS】版的讨论,以及平时跟网友的交流。使用LAMMPS遇到的任何问题,不能依赖别人,查阅手册是王道。提问之前,请阅读RCS第1期中的《你是合格的菜鸟吗?》一文。
& 既然是一个连载,故从LAMMPS编译开始讲起。本文中,并不是严格采用简单列举LAMMPS编译步骤的方式,而是希望通过讲解,让读者对LAMMPS的整个编译过程有自己的理解,从而可以在理解的基础进行编译。再次建议,请仔细阅读LAMMPS手册2.2和2.3两节中的相关内容。
需要准备:LAMMPS源代码,Linux系统,编译器,合适的Makefile文件,必要的库文件(MPI,FFTW等)。
(1)LAMMPS源代码:
可以从,解压等操作不再阐述,参考以下命令:
gunzip lammps*.tar.gz
tar xvf lammps*.tar
(2)Linux系统:
个人还是偏爱Linux系统下的LAMMPS计算。
关于Windows版本:LAMMPS官方已经提供一个相对比较全的版本(includes MPI&an FFT
library, built with all packages except: gpu,
meam, opt, reax, xtc, user-atc, user-imd)。新手可以拿这个版本练习。如果要自己编译,那么/src/MAKE/Windows/中有可供参考的信息。除此之外,可以考虑Windows下的Cygwin。如果你打算长期以LAMMPS作为你的模拟工具,强烈推荐相关的Linux版本。
(3)编译器:
目前LAMMPS推出的是C++版本的(LAMMPS
2001和LAMMPS99 分别为Fortran90和Fortran77版的,但LAMMPS
2001仅更新至2005年1月)。故需要C++编译器,推荐Intel的icc()或g++。如何安装,请到网上搜索。
如果需要添加MEAM和REAX等package,那么还需要Fortran编译器,推荐Intel的ifort或gfortran。
(4)Makefile文件:
按照你的平台在/src/MAKE/目录中选择合适你的Makefile文件,如果没有那么考虑Makefile.g++3或Makefile.linux。一般都需要进行必要的修改,下一节详述。
(5)MPI和FFTW的配置:
以MPICH 2.1为例,介绍其安装步骤,可以下载MPICH 1.2。
之后解压相关文件,进入其目录,然后依次执行以下命令:
./configure --prefix=指定的安装路径
make install
但是,这并不意味这你就可以进行并行计算了,还需要进行相关的配置。关于MPI的详细配置,请搜索网络中的介绍,此处不再详述。
关于FFTW,注意要,而不是其它较新的版本。解压后,进入目录,依次执行以下命令:
./configure --prefix=指定的安装路径
make install
二。Makefile文件
Makefile定义了一系列的规则来指定,/src中哪些文件需要先编译,哪些文件需要后编译,甚至于其它更复杂的功能操作。在2010年1月份发行的版本中,LAMMPS已经对Makefile的结构作了很大的调整,以使其更为合理和清晰。关于Makefile更深层次的理解,请在网上搜索《跟我一起写Makefile(by
陈皓)》。对LAMMPS这样一个庞大的体系来说,文件/src/Makefile指定了编译LAMMPS的所有规则,而用户可能需要对/src/MAKE/Makefile.***(下文可能简称为Makefile文件)进行修改。下面,以/src/MAKE/Makefile.g++3为例,对其进行简要解析。
# g++ = RedHat Linux box, g++, MPICH2,
SHELL = /bin/sh
---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your
CCFLAGS = -g -O
DEPFLAGS = -M
LINK = g++
LINKFLAGS = -g -O
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size
CC:C编译器的名称
CCFLAGS:C编译器的选项
DEPFLAGS:使C++编译器生成每个源文件(.cpp文件)的依赖文件(.d文件)。大多数的C/C++编译器都支持一个“-M”的选项,自动找寻源文件中包含的头文件,并生成一个依赖关系。
---------------------------------------------------------------------
# LAMMPS-specific settings
# specify settings for LAMMPS features you will
# LAMMPS ifdef options, see
doc/Section_start.html
LMP_INC = -DLAMMPS_GZIP
如果你的系统支持popen命令,那么-DLAMMPS_GZIP将允许编译的LAMMPS使用
read_data和dump读写gzip文件。
# MPI library, can be src/STUBS dummy
# INC = path for mpi.h, MPI compiler
# PATH = path for MPI library
# LIB = name of MPI library
MPI_INC =&
&-DMPICH_IGNORE_CXX_SEEK
MPI_PATH =
=&&-lmpich -lpthread
如果你直接只用mpiCC来编译LAMMPS,那么以上三行可以不做改动。否则,在MPI_INC一行中添加mpi.h的路径,一般为“-I/指定的MPI安装路径/include”;在MPI_PATH一行中,添加mpich.a的路径,一般为“-L/指定的MPI安装路径/lib”
# FFT library, can be -DFFT_NONE if not using
PPPM from KSPACE package
# INC = -DFFT_FFTW, -DFFT_INTEL, -DFFT_NONE,
etc, FFT compiler settings
# PATH = path for FFT library
# LIB = name of FFT library
FFT_INC =&
&-DFFT_FFTW
FFT_PATH =
FFT_LIB =&
如果你的模拟中,不需要计算长程库伦力,那么,可以将FFT_INC一行中的-DFFT_FFTW改为-DFFT_NONE。否则在FFT_INC一行中添加fftw.h的路径,一般为“-I/指定的FFTW安装路径/include”;在FFT_PATH一行中,添加fftw.a的路径,一般为“-L/指定的FFTW安装路径/lib”
# additional system libraries needed by LAMMPS
package libraries
此处几行省略,留到本文第四部分中讲述。
---------------------------------------------------------------------
# build rules and
dependencies
# no need to edit this
此处省略n行,既然无需修改,不做详述。
三。单机版本和并行版本
之所以将这两个放在一起,实际上从编译LAMMPS的角度来说,这两者没有太大的区别。简单说,都需要在Makefile内指定MPI的位置。不同的是,所谓的单机版本,是使用/src/STUBS/目录中的伪MPI库来代替真正的MPI。编译单机版LAMMPS的Makefile文件可参考/src/MAKE/Makefile.serial。编译之前,需要进入/src/STUBS/,执行make命令(编译之前可能需要修改该目录下的Makefile文件),生成libmpi.a。而对于并行版本,只要按照前面两部分讲述的MPI安装配置以及相应Makefile的修改之后,即可编译得到并行LAMMPS版本。
四。各个package
关于这部分,手册2.3节有很详细的叙述,下面大部分为其摘要。
(1)添加或者删除某个/些package采用这些命令(具体含义请查阅手册):
make yes-***, make no-***, make yes-standard,
make no-standard, make yes-user, make no-user, make yes-all, make
如果有添加或删除package的动作,则自动修改src/Makefile.package文件,并在编译时候调用。
(2)如要添加POEMS,则编译LAMMPS前需要到/lib/poems/目录中编译该package。
(3)如要添加MEAM或REAX,则编译LAMMPS前需要到/lib/meam/或/lib/reax/目录中编译相应package。注意,这两个package的源文件是用Fortran写的。为避免两种代码之间的调用不出现麻烦,需要修改Makefile中的meam_SYSLIB,reax_SYSLIB,meam_SYSPATH,reax_SYSPATH等几行,请参考Makefile.g++3或Makefile.linux。
(4)如要添加USER-ATC,则编译LAMMPS之前到/lib/atc/目录中编译该package,并修改相应的Makefile文件中的user-atc_SYSLIB和
user-atc_SYSPATH两行。
(5)如果要添加GPU,则需要系统安装NVIDIA
Cuda相关工具,并在/lib/gpu/编译,同时需要修改Makefile文件中的gpu_SYSLIB
和gpu_SYSPATH两行。关于在GPU上运行LAMMPS,请阅读手册2.8节。
(6)以上各个package的编译,请到各自目录下选择合适的Makefile文件,或者进行必要的修改。
# these settings are IGNORED if the
corresponding LAMMPS package
(e.g. gpu, meam) is NOT included in the LAMMPS build
# SYSLIB = names of libraries
# SYSPATH = paths of libraries
gpu_SYSLIB
=&&-lcudart
meam_SYSLIB
=&&-lgfortran
reax_SYSLIB
=&&-lgfortran
user-atc_SYSLIB
=&&-lblas -llapack
gpu_SYSPATH
=&&-L/usr/local/cuda/lib64
meam_SYSPATH =
reax_SYSPATH =
user-atc_SYSPATH =
五。自己添加新代码
目前LAMMPS对于这部分编译也处理得比以前更为简单(以前还需要修改/src/目录下的user_style.h文件,现在相关的style文件都是自动生成的)。如果自己添加了新的LAMMPS代码文件,以实现你需要的新功能。那么,需要将你写的*.cpp以及*.h文件放置在/src/目录中,然后进行编译LAMMPS。
如何写新代码,这不是本文讨论的范畴,但是要保证添加新代码后编译成功,相应的.h和.cpp应该符合特定的结构,可参考/src/目录中已有的文件以及阅读手册第8章。
六。编译LAMMPS
如果以上这些,都已进行完毕,而且,你在/src/MAKE/目录中选择的Makefile文件的名字为,Makefile.***。那么,在/src/目录下执行“make
***”命令,如果编译成功,会在该目录下生成lmp_***可执行程序。
七。其它常见问题
(1)首次编译过程中的n多“警告”
Makefile:93: ******.d: No such file or
原因,在Makefile.g++的第90-93行,分别是:
# Individual dependencies
DEPENDS = $(OBJ:.o=.d)
include $(DEPENDS)
由于是首次编译,尚未生成.d文件,所以include命令无法找到相关的.d文件。编译结束之后,会在Obj_g++生成一系列的.d文件。关于这些文件的作用,注释行已经说明(Individual dependencies),请自行搜索解释。
(2)mdbbs的【LAMMPS】版上不止一位网友问起修改源代码之后是否必须重新编译LAMMPS才能生效。答案是肯定的。
(3)如果编译LAMMPS不成功,查看系统提示的Error信息,一般会告诉你是哪个库文件找不到,诸如此类。那么检查你的Makefile文件中指定的路径是否正确。
(4)可在mdbbs中搜索【LAMMPS】版中以“编译”为主题的帖子,看看其它问题的解决办法。
(1)不同的Linux平台,大同小异。如有其它问题,请到mdbbs的【LAMMPS】版讨论。
(2)感谢以下网友:寒城孤云,,nick_yang107,mechanicslee,托雷斯,realasking等,本文的写作从你们在mdbbs【LAMMPS】的帖子中得到了启发。
(3)本人水平毕竟有限,错误之处,请联系
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。lammps 运行_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
lammps 运行
上传于||文档简介
&&不​错​的​资​料
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
你可能喜欢Manual-lammps 最最全面的 教程,细节每一部分,计算科学领域中的经典软件。 Linux-Unix program 238万源代码下载-
&文件名称: Manual-lammps
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 5044 KB
&&上传时间:
&&下载次数: 5
&&提 供 者:
&详细说明:最最全面的lammps教程,细节每一部分,计算科学领域中的经典软件。-Lammps most comprehensive tutorial, detail each part of the field of computer science in the classic software.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&Manual-lammps.pdf
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - lammps简单手册,附有很多实例及代码
&[] - 一款非常好的并行分子动力学源码,包括使用说明,例子,相关势函数,相关命令使用
&[] - 本软件为分子动力学计算软件lammps最新版的的软件,需要在linux系统下运行。该软件适用于晶体金属等的模拟。

我要回帖

更多关于 linux安装lammps 的文章

 

随机推荐