ubuntu下并行安装lammps教程需联网超简单 亲测成功适合小白.docx
- 文档编号:4598818
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:15
- 大小:151.48KB
ubuntu下并行安装lammps教程需联网超简单 亲测成功适合小白.docx
《ubuntu下并行安装lammps教程需联网超简单 亲测成功适合小白.docx》由会员分享,可在线阅读,更多相关《ubuntu下并行安装lammps教程需联网超简单 亲测成功适合小白.docx(15页珍藏版)》请在冰点文库上搜索。
ubuntu下并行安装lammps教程需联网超简单亲测成功适合小白
ubuntu下并行安装lammps教程(需联网)超简单亲测成功,适合小白
写在前面的话:
手册很重要,一定要看手册!
!
!
本人小白一个,没用过任何linux系统,前天才安装了ubuntu,linux系统和win系统有很大的区别,很多操作需要在终端中进行,因此想要安装lammps,最好先熟悉一下linux的基本操作,然后根据手册进行编译安装。
安装过程中我走了很多弯路,下载lammps以后就先看了看手册,关于安装那一部分写的很详细,但由于对linux基本操作都不熟悉,以至于根本看不懂,没办法,只能按照网上的教程安装,但装了一天也没成功,最后舍弃所有教程,还是自己根据手册安装成功的。
熟悉了linux的基本操作以后就能发现,如何安装lammps手册上其实说的很清楚了,很多教程都走了弯路,进行了很多不必要的步骤,特别是对ubuntu系统的用户来说。
这个教程意在帮助ubuntu和lammps小白少走弯路,我尽可能详细地列出了安装过程中的每一个步骤,并对步骤进行了说明,希望能帮助小白们在了解linux基本操作的同时完成lammps的安装。
但最好还是根据手册自行安装,因为手册上说的真的很详细。
由于我也是小白,加上写作水平有限,难免有纰漏,有不足之处,还请见谅。
lqjunzi
2016.6.2
首先安装ubuntu系统,不会的自行查看相关教程
1.进入安装好的ubuntu系统,先打开softwareupdater(桌面左下角有个类似Windows开始菜单的图表,点击,搜索updater)更新系统,不是必要的,但不更新可能会出现问题,更新比较慢,要联网下载很多东西
2.打开终端(以下在终端中所需输入指令均高亮标出),系统默认是没有root密码的,但安装lammps时需要在root账户下进行,创建初始root密码的命令如下:
lqjunzi@lqjunzi:
~$sudopasswdroot#输入sudopasswdroot按回车,可以鼠标复制粘贴,但ctrl+c不管用
[sudo]lqjunzi的密码:
#输入密码,回车(输完指令按回车执行,后面省略),输入过程不显示
输入新的UNIX密码:
#再次输入密码,输入过程不显示
重新输入新的UNIX密码:
#再次输入密码,输入过程不显示
passwd:
已成功更新密码#提示root密码更新成功
lqjunzi@lqjunzi:
~$su#输入su,回车
Password:
#输入密码,回车
root@lqjunzi:
/home/lqjunzi##可以看到最前面的用户名已经由lqjunzi变成啦root,而后面的~$也变成了#,#是在root下操作的标志
3.下载lammps安装包,下载后的安装包默认在/home/lqjunzi/Downloads目录下,这里的lqjunzi是安装系统时的用户名,习惯的将下载后的lammps-stable.tar.gz复制至/home/lqjunzi/sw目录下(完全可以不复制,就在Downloads下操作,只是个人习惯,如不移动则后面操作目录相应改变)
root@lqjunzi:
/home/lqjunzi#mkdirsw#在/home/lqjunzi目录下建立sw文件夹
root@lqjunzi:
/home/lqjunzi#cdDownloads#进入Downloads文件夹
root@lqjunzi:
/home/lqjunzi/Downloads#cplammps-stable.tar.gz../sw#复制到vm目录下,文件名在输入的时候可以输入lamm后按table键,会自动补全剩余文件名,简化输入
root@lqjunzi:
/home/lqjunzi/Downloads#cd../sw#进入sw目录
root@lqjunzi:
/home/lqjunzi/sw#gunziplammps-stable.tar.gz#解压
root@lqjunzi:
/home/lqjunzi/sw#tarxvflammps-stable.tar#解压
root@lqjunzi:
/home/lqjunzi/sw#ls#显示该文件夹下的文件/文件夹。
发现一个lammps-14Mayxxx之类的文件夹
root@lqjunzi:
/home/lqjunzi/sw#mvlammps-14Mayxxxlmp#将解压后的文件夹命名为lmp,方便操作,这里lammps-14Mayxxx可能会因为你下载的软件不同(lammps经常更新)而不同
root@lqjunzi:
/home/lqjunzi/sw#cdlmp/src/MAKE/MACHINES#进入该文件夹
root@lqjunzi:
/home/lqjunzi/sw/lmp/src/MAKE/MACHINES#ls#显示该文件夹下的文件/文件夹。
看到存在一个Makefile.ubuntu文件,这就是编译lammps所需要的文件,文件内容付在教程最后,其他教程中都需要改这个文件,然而对于新手来说很容易出错,通过查看手册发现根本不需要对这个文件进行修改,这就避免了出错。
root@lqjunzi:
/home/lqjunzi/sw/lmp/src/MAKE/MACHINES#geditMakefile.ubuntu#打开这个文件,这一步与安装无关,只是为了说明为什么要装下面那几个packages,但建议打开阅读一遍,并结合手册,看有没有需要更改的地方,我就是看了手册以后发现这个文件根本不用修改,而我查到的很多教程都需要修改,修改就容易出错,当然对于非ubuntu系统就不一定了,这里不作讨论。
可以看到需要安装几个packages才能安装
4.安装必要packages,依次输入并执行以下命令,时间根据电脑配置和网速不同,几分钟一般,以下为安装必要packages指令,不再一一解释。
apt-getinstallbuild-essential
apt-getinstallg++
apt-getinstallmpi-default-bin
apt-getinstallmpi-default-dev
apt-getinstalllibfftw3-dev
apt-getinstalllibjpeg-dev
apt-getinstalllibpng12-dev
#如果上述packages安装过程中出现依赖关系错误,就执行apt-get-finstall语句,然后再次安装(我安装的时候没出现问题)
5.编译
cd../..#回到/home/lqjunzi/sw/lmp/src/目录
makeclean-all#先清理一下
makeubuntu#开始编译,时间很长,十几分钟大约,没提示错误的话就是成功了
ls#检查编译结果,如果编译成功在/home/lqjunzi/sw/lmp/src/下会生成一个lmp_ubuntu文件,如下图所示。
6.运行例子,以friction为例
cplmp_ubuntu../examples/friction/#将lmp_ubuntu复制到../examples/friction/文件夹下
mvlmp_ubuntulmp#改名,方便操作
./lmp 运行结果 生成的log文件 以上就是教程全部内容,祝安装成功! 下面是Makefile.ubuntu的文件内容和我安装时所查的linux基本操作命令(都是复制的别人的,没有标出处,见谅。 内容不是很全,太基础的没放,且格式很乱,将就着看吧,希望能有所帮助)。 Makefile.ubuntu文件内容: #ubuntu=UbuntuLinuxbox,g++,openmpi,FFTW3 #youhavetoinstallthepackagesg++,mpi-default-bin,mpi-default-dev, #libfftw3-dev,libjpeg-devandlibpng12-devtocompileLAMMPSwiththis #makefile SHELL=/bin/sh #--------------------------------------------------------------------- #compiler/linkersettings #specifyflagsandlibrariesneededforyourcompiler CC=mpic++ CCFLAGS=-g-O3#-Wunused SHFLAGS=-fPIC DEPFLAGS=-M LINK=mpic++ LINKFLAGS=-g-O3 LIB= SIZE=size ARCHIVE=ar ARFLAGS=-rc SHLIBFLAGS=-shared #--------------------------------------------------------------------- #LAMMPS-specificsettings,allOPTIONAL #specifysettingsforLAMMPSfeaturesyouwilluse #ifyouchangeany-Dsetting,dofullre-compileafter"makeclean" #LAMMPSifdefsettings #seepossiblesettingsinSection2.2(step4)ofmanual LMP_INC=-DLAMMPS_GZIP-DLAMMPS_JPEG-DLAMMPS_PNG-DLAMMPS_FFMPEG #MPIlibrary #seediscussioninSection2.2(step5)ofmanual #MPIwrappercompiler/linkercanprovidethisinfo #canpointtodummyMPIlibraryinsrc/STUBSasinMakefile.serial #use-DMPICHandOMPIsettingsinINCtoavoidC++libconflicts #INC=pathformpi.h,MPIcompilersettings #PATH=pathforMPIlibrary #LIB=nameofMPIlibrary MPI_INC= MPI_PATH= MPI_LIB= #FFTlibrary #seediscussioninSection2.2(step6)ofmanaul #canbeleftblanktouseprovidedKISSFFTlibrary #INC=-DFFTsetting,e.g.-DFFT_FFTW,FFTcompilersettings #PATH=pathforFFTlibrary #LIB=nameofFFTlibrary FFT_INC=-DFFT_FFTW3 FFT_PATH= FFT_LIB=-lfftw3 #JPEGand/orPNGlibrary #seediscussioninSection2.2(step7)ofmanual #onlyneededif-DLAMMPS_JPEGor-DLAMMPS_PNGlistedwithLMP_INC #INC=path(s)forjpeglib.hand/orpng.h #PATH=path(s)forJPEGlibraryand/orPNGlibrary #LIB=name(s)ofJPEGlibraryand/orPNGlibrary JPG_INC= JPG_PATH= JPG_LIB=-ljpeg-lpng #--------------------------------------------------------------------- #buildrulesanddependencies #donoteditthissection includeMakefile.package.settings includeMakefile.package EXTRA_INC=$(LMP_INC)$(PKG_INC)$(MPI_INC)$(FFT_INC)$(JPG_INC)$(PKG_SYSINC) EXTRA_PATH=$(PKG_PATH)$(MPI_PATH)$(FFT_PATH)$(JPG_PATH)$(PKG_SYSPATH) EXTRA_LIB=$(PKG_LIB)$(MPI_LIB)$(FFT_LIB)$(JPG_LIB)$(PKG_SYSLIB) EXTRA_CPP_DEPENDS=$(PKG_CPP_DEPENDS) EXTRA_LINK_DEPENDS=$(PKG_LINK_DEPENDS) #Pathtosrcfiles vpath%.cpp.. vpath%.h.. #Linktarget $(EXE): $(OBJ)$(EXTRA_LINK_DEPENDS) $(LINK)$(LINKFLAGS)$(EXTRA_PATH)$(OBJ)$(EXTRA_LIB)$(LIB)-o$(EXE) $(SIZE)$(EXE) #Librarytargets lib: $(OBJ)$(EXTRA_LINK_DEPENDS) $(ARCHIVE)$(ARFLAGS)$(EXE)$(OBJ) shlib: $(OBJ)$(EXTRA_LINK_DEPENDS) $(CC)$(CCFLAGS)$(SHFLAGS)$(SHLIBFLAGS)$(EXTRA_PATH)-o$(EXE)\ $(OBJ)$(EXTRA_LIB)$(LIB) #Compilationrules %.o: %.cpp$(EXTRA_CPP_DEPENDS) $(CC)$(CCFLAGS)$(SHFLAGS)$(EXTRA_INC)-c$< %.d: %.cpp$(EXTRA_CPP_DEPENDS) $(CC)$(CCFLAGS)$(EXTRA_INC)$(DEPFLAGS)$<>$@ %.o: %.cu$(EXTRA_CPP_DEPENDS) $(CC)$(CCFLAGS)$(SHFLAGS)$(EXTRA_INC)-c$< #Individualdependencies depend: fastdep.exe$(SRC) @./fastdep.exe$(EXTRA_INC)--$^>.depend||exit1 fastdep.exe: ../DEPEND/fastdep.c cc-O-o$@$< sinclude.depend 以下是没有整理的基本linux命令汇总: sudopasswdroot创建初始root密码 lqjunzi@lqjunzi: ~$sudopasswdroot [sudo]lqjunzi的密码: 输入新的UNIX密码: 重新输入新的UNIX密码: passwd: 已成功更新密码 lqjunzi@lqjunzi: ~$ 解压 gunzipmpich2-1.3.1.tar.gz tarxvfmpich2-1.3.1.tar 新建文件夹 1如果你要在那里建一个叫test的文件夹 输入cd/home回车就到了home目录 输入mkdirtest就可以了 2如果在文件夹里添加(就是创建)一个文件例如a.txt 输入touchtest/a.txt回车 3删除rm-rftest/回车 删除文件/夹 rm-removefilesordirectories Bydefault,rmdoesnotremovedirectories.Usethe--recursive(-ror-R)optiontoremoveeachlisteddirectory,too,alongwithallofitscontents. -r,-R,--recursiveremovedirectoriesandtheircontentsrecursively -d,--dirremoveemptydirectories Toremoveafilewhosenamestartswitha'-',forexample'-foo',useoneofthesecommands: rm---foo rm./-foo 检查下自己的机器是否已经安装c和fortran编译器。 Linux一般有gcc,g++,gfortran和intel的fortran,可以用whichg++和whichgfortran查看是否存在安装目录。 这里用ubuntu源里的g++和gfortran,保证联网的情况下用以下命令: sudoapt-getinstallbuild-essential sudoapt-getinstallg++ sudoapt-getinstallgfortran 安装软件 apt-get常用实例 apt-cachesearchpackagename搜索包 apt-cacheshowpackagename获取包的相关信息,如说明、大小、版本等 apt-getinstallpackagename安装包 apt-getinstallpackagename--reinstall重新安装包 apt-get-finstall修复安装”-f=–fix-missing” apt-getremovepackagename删除包 apt-getremovepackagename--purge删除包,包括删除配置文件等 apt-getupdate更新源 apt-getupgrade更新已安装的包 apt-getdist-upgrade升级系统 apt-getdselect-upgrade使用dselect升级 apt-cachedependspackagename了解使用依赖 apt-cacherdependspackagename是查看该包被哪些包依赖 apt-getbuild-deppackagename安装相关的编译环境 apt-getsourcepackagename下载该包的源代码 apt-getclean清理无用的包 apt-getautoclean清理无用的包 apt-getcheck检查是否有损坏的依赖 root@lqjunzi-Lenovo-G400s: /home/lqjunzi/sw/lmp/examples/friction#./lmp 您需要管理员权限来安装一个.deb文件。 打开终端后,输入: sudodpkg-ipackage_file.deb 要卸载一个.deb文件,在您的软件包管理器中取消选中它。 或者在终端中,输入: sudodpkg-rpackage_name dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。 下面是它的一些命令解释: 1)安装软件 命令行: dpkg-i<.debfilename> 示例: dpkg-iavg71flm_r28-1_i386.deb 2)安装一个目录下面所有的软件包 命令行: dpkg-R 示例: dpkg-R/usr/local/src 3)释放软件包,但是不进行配置 命令行: dpkg–unpackpackage_file如果和-R一起使用,参数可以是一个目录 示例: dpkg–unpackavg71flm_r28-1_i386.deb 4)重新配置和释放软件包 命令行: dpkg–configurepackage_file 如果和-a一起使用,将配置所有没有配置的软件包 示例: dpkg–configureavg71flm_r28-1_i386.deb 5)删除软件包(保留其配置信息) 命令行: dpkg-r 示例: dpkg-ravg71flm 6)替代软件包的信息 命令行: dpkg–update-avail 7)合并软件包信息 dpkg–merge-avail 8)从软件包里面读取软件的信息 命令行: dpkg-Apackage_file 9)删除一个包(包括配置信息) 命令行: dpkg-P 10)丢失所有的Uninstall的软件包信息 命令行: dpkg–forget-old-unavail 11)删除软件包的Avaliable信息 命令行: dpkg–clear-avail 12)查找只有部分安装的软件包信息 命令行: dpkg-C 13)比较同一个包的不同版本之间的差别 命令行: dpkg–compare-versionsver1opver2 14)显示帮助信息 命令行: dpkg–help 15)显示dpkg的Licence 命令行: dpkg–licence(or)dpkg–license 16)显示dpkg的版本号 命令行: dpkg–version 17)建立一个deb文件 命令行: dpkg-bdirec×y[filename] 18)显示一个Deb文件的目录 命令行: dpkg-cfilename 19)显示一个Deb的说明 命令行: dpkg-Ifilename[control-file] 20)搜索Deb包 命令行: dpkg-lpackage-name-pattern 示例: dpkg-Ivim 21)显示所有已经安装的Deb包,同时显示版本号以及简短说明 命令行: dpkg-l 22)报告指定包的状态信息 命令行: dpkg-spackage-name 示例: dpkg-s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ubuntu下并行安装lammps教程需联网超简单 亲测成功适合小白 ubuntu 并行 安装 lammps 教程 联网 简单 成功 适合