| 查看: 3291 | 回复: 5 | |||||||||
[交流]
Ubuntu下安装lammps单机版(no MPI,no FFT)几点心得 已有2人参与
|
|
说明一下:我用的是ubuntu12,自动更新到13(去系统自带的“软件中心”安装谷歌拼音输入法,方便后面操作)。下载的lammps为2014年5月份的。 1.更改系统默认的shell 由于ubuntu系统默认的shell是dash,它更小巧、更快。但是听说安装一些脚本时容易出错,因此还是改为bash。 查看系统默认的shell, ls -l /bin/sh 重新配置dash, sudo dpkg-reconfigure dash 然后选择[no],终端会自己删除dash,并更改为bash。 2.预安装 sudo apt-get install csh sudo apt-get install build-essential lammps要求ubuntu系统的(用于将ubuntu当作debain系统?): sudo add-apt-repository ppa:gladky-anton/lammps sudo apt-get update 3.安装编译器 由于电脑CPU是Intel的,所以选择intel的icc和ifort,听说会比其他编译器快很多(主要差别在浮点运算?)。下载地址: https://software.intel.com/en-us ... oftware-development,获得序列号。我下载安装的是icc2013_sp1.2.144,ifort2013_sp1.2.144版的。 先装(命令集), sudo apt-get install g++ 去解压包的目录下,我的是cd /home/bill/icc sudo ./install.sh ifort的安装与此相同。 设置环境变量,使之生效。 gedit .bashrc 打开.bashrc后,在末尾加上 # l_ccompxe_2013_sp1.2.144 # l_fcompxe_2013_sp1.2.144 这两行只是用来注释的 source /opt/intel/bin/compilervars.sh ia32 加这一条可同时使icc,ifort,icpc生效,而不用分别添加。因为compilervars.sh本身就包含了它们的链接。 保存,关闭。 source .bashrc 测试确认一下:输入which icc,再which icpc,which ifort 卸载和安装前面的步骤相同,只需在安装菜单中选“卸载”。 4.MPI和FFT 我是用单机算的,因此没装MPI,它是用来不同平台之间并行计算的。对于单机,还有一个多核并行计算的问题,即openMP。由于intel的编译器已包括了它,所以不用专门去安装。这里也把网上的安装MPI和FFT的贴过来吧: (1)先去软件中心下载mpich2,这样省事。cd mpich2-1.0.2p1(去解压包的目录)./configure --prefix= /opt/mpich2-gnu(配置,好像这个命令是要求要有gnu的)make(会出来好多选项)再make install(安装)。 (2)去官网下载,http://www.fftw.org/download.html,解压后,cd fftw-2.1.5,./configure --prefix=/opt/mathlib/fftw215-gnu --enable-float,make,make install。 5.编译lammps (1)MPI库:去官网下载安装包,http://lammps.sandia.gov/download.html#tar,常选“发展包”。 去lammps/src/STUBS/目录下,将Makefile中的g++改为icc,保存。该目录是关于MPI的。 cd /home/bill/lammps/src/STUBS/ make 生成libmpi_stubs.a,是用于非并行的“伪MPI库”,还有 mpi.o是整体编译lammps时用于链接的“中间目标文件”。 (2)额外库:poems是C语言写的,可用icc来编译;meam和reax是用fortran语言写的,可用ifort编译。 cd /home/bill/lammps/lib/poems make -f Makefile.icc 即开始用icc来编译poems了。会在lammps/lib/poems目录下会生成一个libpoems.a库文件,用于编译整个lammps时调用,还有一个Makefile.lammps,用于引导编译时相关库的调用,另外还有若干*.o的“中间目标文件”。(旧版的lammps是直接去MAKE下的Makefile.*加路径,现在则通过各个“额外包”的Makefile.lammps来改,这样操作更方便、集中) cd /home/bill/lammps/lib/meam make -f Makefile.ifort 即开始用ifort编译meam了。会在lammps/lib/meam目录下生成libmeam.a,Makefile.lammps,*.o。将其Makefile.lammps改为 meam_SYSINC = meam_SYSLIB = -lifcore -lsvml -liompstubs5 -limf meam_SYSPATH = -L/opt/intel/composerxe/lib/ia32 第二行有四个库,-lifcore调用libifcore.a库,为ifort编译器所需;-lsvml 调用libsvml.a库,是short vector math library;-liompstubs5(旧版的ifort是-lompstub,若装的是新版的ifort用它就会出错)调用libompstub.a库,它与OMP的一个子程序相关,用它(intel编译器已经预装了)就不用另外安装OMP了;-limf调用libimf.a库,是一个数学库。 第三行为安装的intel编译器的库(链接*.o时候用的?)的地址。 reax的安装与meam的步骤相同。 (3)选择和修改Makefile文件:编译之前先去修改负责编译整个lammps的Makefile文件。lammps/src/目录下有个Makefile.sh,用于引导Makefile.*的选择,这些备选的Makefile文件都在lammps/src/MAKE目录下。比如在src目录下输make linux,则编译时将使用Makefile.linux文件来编译整个lammps。我只要做串行计算,因此选择的是Makefile.serial这个文件。在用它进行编译之前,先对它作一点修改。1.编译器部分两处改为icc。2.如果安装了MPI和FFT,则要修改MPI和FFT相应的部分,比如 MPI_INC = -I/opt/mpich/include -DMPICH_SKIP_MPICXX MPI_PATH = -L/opt/mpich/lib MPI_LIB = -lmpich -lpthread FFT_INC = -I/opt/fftw/include -DFFT_FFTW FFT_PATH = -L/opt/fftw/lib FFT_LIB = -lfftw3f 3.如果要使用JPEG的功能(in文件中有相应的输出JPEG图片的命令),则要修改相应的部分。 修改完后,保存。 (4)整体编译lammps:该准备的都准备好后(主要是库文件和Makefile文件),就可以开始编译整个lammps了。 回到lammps/src/目录下(其实前一步也还是在这个目录下) cd /home/bill/lammps/src/ 查看各包的选择状态,make package-status 选择和剔除各包,我选的是 make yes-all,然后 make no-gpu make no-kim make no-mpiio make no-voronoi make no-user-atc make no-user-awpmd make no-user-colvars make no-user-cuda make no-user-lb make no-user-qmmm 总共安装了22+8=30个包。其中27个平常的(user-omp需要openMP,单核并行),3个额外包(poems,meam和reax)。 剔除了4+6=10个特殊包。其中gpu需要cuda(有两个cuda需要注意区分),voronoi需要voro++,user-atc需要blas和lapack库,user-awpmd需要openMPI(多核并行)。 最后即可开始编译lammps了, cd /home/bill/lammps/src/ make clean-all make serial 编译成功后会在该目录下生成名为lmp_serial.exe(后缀可能看不到)的可执行文件。可复制、剪切、更改名字,复制到其他地方的同样可进行计算。 6.用编译好的lammps来进行计算 将in.*即in文件(可能会带一个data.*文件)与lmp_serial.exe放在同一个目录下。若用的是lammps/examples里的in文件,则需要先把dump命令前的#去掉,还可以按需要把输出的步子比如50改为10等。 先去该目录下, cd /home/bill/Compute 在该目录下, ./lmp_serial < in.name 即开始计算了,生成数据文件dump.*,包含位置等信息,以及日志log.cite,log.lammps等,记录命令的运行情况。 7.对计算结果进行可视化 (1)安装VMD(visual Molecular Dynamics):预装 sudo apt-get install build-essential csh sudo apt-get install csh sudo apt-get install libstdc++5(安装编译器也要用到它?) 下载,http://www.ks.uiuc.edu/Developme ... cgi?PackageName=VMD,解压。 如果要更改安装位置,则先去目录/home/bill/vmd-1.9.1/下,找到并修改configure文件, install_bin_dir="/home/bill/lammps-18Apr14/src"(startup script一个启动脚本,引导作用) install_library_dir="/home/bill/vmd-1.9.1/bin/$install_name"(executables一个可执行文件,一个用于实际运行的文件) 如果默认安装路径/usr/local/bin/vmd(启动脚本),则上面不用改。 改好后进行配置, cd /home/bill/vmd-1.9.1 ./configure (出现几个选项,using configure.options: LINUX OPENGL FLTK TK ACTC CUDA IMD LIBSBALL XINERAMA XINPUT LIBTACHYON VRPN NETCDF TCL PTHREADS SILENT ICC) ./configure LINUX(选LINUX) 配置好后,开始安装, cd src(或者cd /home/bill/vmd-1.9.1/src) sudo make install 试试 vmd 命令,直接在终端输“vmd”,结果出现 rlwrap: Command not found. 但仍然可以运行,并出现vmd的两个窗口界面。 去软件中心搜“rlwrap”,下载、安装即可。若运行vmd还是出现那个问题,就去/usr/local/bin下找名为vmd的启动脚本,修改它。 先用命令改其权限。 sudo chmod g+rw /usr/local/bin/vmd 再打开该文档,查找与rlwrap有关的字段,有两处乱码,是需要slash才能正确显示的符号。不想安装slash就要把以下乱码删除。 -b(){}[],&^%#;|\\ 为了留个记录,可把原句注释掉(在该行最开头加个符号#),再在下面加上没有乱码的语句。 再用chmod命令把文件的属性改回来(也可以不改),运行vmd试试。 (2)先把前面计算得到的dump.*文件改为vmd所要求的.lammpstrj格式,可直接在dump文件名后加此后缀。 运行vmd:在终端输入vmd,打开软件的主界面和图示界面。 载入分子或原子:点开主界面的“File→New Molecules”,会弹出一个名为“Molecule File Browser”的菜单。先在Determine file type下选择LAMMPS Trajectory,再点Browser,去合适的目录下寻找.lammpstrj格式的文件,最后点Load,即可导入分子或原子。 改变显示方式:在主菜单下Graphics→Representations,会弹出Graphical Representations。Drawing Method下选,VDW,此时原子显示为小球。更改球的半径,Sphere Scale调为0.5或0.4。 将模拟过程保存为动画:主菜单Extensions→Visualization→Movie Maker,会弹出一个名为VMD Movie Generator的菜单。先在Movie Settings下选择Trajectory即输出轨迹(此菜单下还可决定是否删除在制作动画过程中生成的一系列图片),再点Set working directory设置输出动画的地址。如果要输出GIF格式的图片,则Fornat→Animated GIF(ImageMagick);如果要输出mpeg格式的视频,则Format→mpeg-1(ppmtompeg)。最后Make Movie,开始制作。在使用这两个功能之前,需要先安装相应的插件(可通过软件中心):ImageMagick用以输出GIF,NetPBM用以输出mpeg。 |
» 收录本帖的淘帖专辑推荐
资源收集 | 分子动力学 | MD分子动力学 | 科研 |
lammps学习 | 分子动力学 |
» 猜你喜欢
职称评审没过,求安慰
已经有41人回复
回收溶剂求助
已经有7人回复
硝基苯如何除去
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
求助文献
已经有3人回复
三无产品还有机会吗
已经有6人回复
» 本主题相关商家推荐: (我也要在这里推广)
» 本主题相关价值贴推荐,对您同样有帮助:
windows下运行LAMMPS与ubuntu中运行相同的例子,结果会有不同吗?
已经有9人回复
急求fftw3.3.1安装问题,解答
已经有13人回复
Ubuntu 编译Lammps 单机串行错误,帮帮忙
已经有5人回复
2楼2014-05-16 15:50:23
3楼2014-05-27 12:49:15
4楼2014-05-30 22:46:00
大家的诚
银虫 (小有名气)
- 应助: 2 (幼儿园)
- 金币: 655.8
- 散金: 3
- 帖子: 87
- 在线: 141.8小时
- 虫号: 2514004
- 注册: 2013-06-19
- 性别: GG
- 专业: 半导体电子器件
5楼2014-06-02 15:59:57
6楼2014-06-03 22:03:03













回复此楼
