本文结构:
0. 写在最开始的话
1. 首先确定lammps是不是适合你
2. 下载和编译
3. 如何使用lammps进行计算
4. 关于manual.pdf(20/JUL/07)的阅读建议
ubuntu使用入门教程5. Comannds 的简单讲解
6. 解决问题的途径
7. 写在最后面的话
温馨提示:
(1) 点击标题可直接到相关的“章节”.
(2) 为避免混淆, 上面的各“章”, 在本文中用“步骤2”、“步骤5”这样的词代指; 而文中其它地方出现的“章节”是指lammps手册中的章节.
(3) 文中跟某些名词相关的网页已加注超链接, 直接点击可浏览该页面以获得更详尽的信息.
===================================================================
0. 写在最开始的话
从2007年5月初开始接触和学习lammps, 时至今日, 依然对lammps存有很多疑惑. 如同一个刚入门的工匠面对着一台功能强大的复杂机器, 不知所措. 虽然还有好多好多的东西要学习, 但是也已经了解了一些最最基本的东西了. 我可以去帮助那些刚刚入门的人, 正如我刚刚开始学习lammps时诸位热心网友对我的帮助. 现在, 我写一写自己知道的东西, 希望对lammps的新手有所帮助, 不当之处, 真诚地希望各位读者多多指正.
我写的这点儿东西, 使用者仅限于使用lammps的新手, 而且里面只讲到了ubuntu下编译lammps的单机版, 没有涉及并行版的编译. 我希望这个“指南”会帮他们更快地了解和学习lammps. 如果你已经在使用lammps了, 我觉得这个“指南”是不会对你有什么帮助的. 不过, 对于高手来说, 如果你有时间, 我还是希望你能看完这篇, 因为我接触lammps和MD的时间都不长, 我怕我的某些错误会误导新手. 所以, 希望大家一起努力, 完善这个指南.
对这个“指南”有任何的建议, 请联系我, 如下: QQ: 365449075 Email: wfc@mail.ustc.edu
另外, 我只把这篇文章放在这个由学校提供的个人网页空间. 之前QQ空间的那篇文章, 因为对其内容改动较大, 故我已将其删除. 我并不反对转载, (先自我陶醉一下下, 可是会有吗? 呵呵)但是转载之前, 请注意:
(1) 文章中的一些表述我尚不肯定正确与否. 所以转载之前, 请你负责任地认真读完这篇文章并确认你是否认可我的表述. 如果发现错误, 请及时联系我, 谢谢先了.
(2) 我知道有些论坛的用户可以设置回复或者付出金币or积分等才能查看某些帖子, 我坚决反对这篇文章被这么做.
(3) 本文没有所谓的版权, 完全是分享性质的. 转载的时候, 没有必要著上是我写的, 可是我不希望有一天看到这篇指南成了另外的一个名字的原创. 如果你发现文中的错误并做了修改(最好也通知我), 那样我们可以算是这篇文章的共同作者.
(4) 严禁本文被用作其它用途.
我还要再次重申, 我不想写成像教科书一样的东西. 我写这篇指南的意图也绝对不是“ 哦, 你是lammps新手吧, 那你按照我说的做吧. ”那我岂不成了教父了? 呵呵. 要知道, 这篇文章的作者只不过是一个3个
月前才知道世上有lammps这款代码的家伙, 他根本就没有完全读完和读懂lammps手册, 他对MD的基本理论了解的是少之又少. 我只不过是想结合我学习lammps的过程, 写一下我的体会和建议, 供新手参考. 如果你觉得这个指南对你有用, 那固然很好; 但是如果你看后觉得我说的都是屁话, 那也很好, 你可以按照另外的思路去学习lammps, 同时, 你还可以按照我的大骂我一顿, 我也会洗耳恭听的.
如果这篇文章真的对lammps的初学者有些许帮助, 那我将感到十分的欣慰. (返回本文目录)
=================================================================== 2. 下载和编译
lammps是在linux环境下运行的. 所以, 首先你要有一个linux环境, 如果你已经在用linux了, 那当然再好不过了. (lammps也可以在Windows下编译, 但那不是我现在所能理解的范围. 关于这一点, 请查阅“材料科学论坛-分子动力学模拟版”的某个置顶帖后面的相关回帖, 但是我个人不推荐这么做. )
如果你跟我一样, 听到lammps这个词的时候对linux一窍不通, 那么你有两个选择. 要么在你的Windows环境中虚拟一个linux系统, 我没有这么做过, 所以我不便说什么. 不过我建议你自己在网上搜索在Windows下安装虚拟机虚拟linux的方法, 我只是在ubuntu 下虚拟过XP环境(只是用来QQ视频), 想来应该差不多的. 还有一个方法呢, 就是安装一个linux. 新手的话, 我个人推荐ubuntu, 对硬件支持较好, 上手很快. 请参考: ubuntu7.04(硬盘)安装与配置图文指南
多罗嗦几句: 一开始用ubuntu, 我就深深的喜欢上它了, 现在, 我的机子上原来的Windows已经被我格掉了. 换一个操作系统, 刚开始会很不不习惯, 但是现在, 我可以在ubuntu下上网、写文档、看电影听音乐、聊QQ 、用MSN 、看网络电视、使用Matlab……这一切都是通过ubuntu完成的, 而非在VirtualBox虚拟的XP中做的. 还有最重要的一点, ubuntu中你所需要的绝大多数软件都可以用sudo apt-get install这个命令通过网络安装, 不会有Windows里面烦死人的软件破解等等问题. 一段时间之后, 你就会觉
得ubuntu.linux带给你的美妙的享受, 它的那种自由和分享的理念, 这, 绝对不是Windows 可以给你的.
在ubuntu中文论坛里, 你可以学习到很多关于ubuntu的知识, 解决你在使用ubuntu 过程中可能会遇到的很多难题. 关于ubuntu的安装, 你也可以请查阅“初学者园地” 的帖子, 尤其是那几个置顶帖.
好了, 如果你拥有了linux环境, 下面就开始我们体验lammps的历程.
到这里下载lammps, 建议你下载LAMMPS upgrade. 需要说明的是, lammps更新很快, 几乎每天都有源代码的修改. 所以, 你有必要经常关注lammps官方网页.
下载之后, 你会得到一个*.的压缩文件包, 在linux的终端, 用以下的命令解压. gunzip lammps*.
tar xvf lammps*.tar
之后, 你会得到一个名为lammps-*的文件夹(注意, 这里的*是通配符). 最新版本的lammps是用C++写的, 编译之前, 你的linux系统中需要有一个编译器. 抱歉地说, 我忘记ubuntu是否自带这个编译器了, 如果没有的话, 用sudo apt-get install build-essential 这个命令安装, 这需要你的系统管理员帐户和密码.
下面说ubuntu下编译单机版的lammps的过程(并行的编译我还没去学习, 如果需要, 建议你查阅这个帖子----By hooge.lu).
补充说明一点:
~lammps/src/MAKE目录下的makefile.serial首行注释为“# serial = RedHat Linux box, icc, no MPI, no FFTs”这表示默认的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/目录下, 输入make serial, 回车.
好了, 现在你会看到屏幕上的字幕流, 表示lammps正在被编译. 喝口茶, 等会儿, 剩下的事情ubuntu会帮你搞定. 如果成功编译, 在~lammps/src/目录下, 会生成了一个名为lmp_serial的可执行文件, 计算, 就是靠它了. (返回本文目录)
3. 如何使用lammps进行计算
先简要地说说lammps的运行过程:
lammps本身没有图形界面, 模拟计算的过程都是在linux终端执行. 计算的时候, 需要用户写一个输入文件(input script), 可能还需要一个data文件, 至于如何写输入文件, 我们稍后讨论.
假设你已经写好了这个输入文件, 文件名为in.name, 把这个in.name文件(如果有data文件的话, 连同data文件)和在步骤2中编译得到的lmp_serial放在同一个目录下, 如~/Desktop/compute/. 从终端进入到这个目录, 所需要的命令是:cd ~/Desktop/compute 然后, 在终端输入./lmp_serial < in.name 回车. 你就会发现lammps开始计算了. 就这么简单.
lammps的输出文件主要可以分为三种: 一是log.lammps, 这里面记录了整个计算过程屏幕上显示的所有信息, 更详细的请参照thermo、thermo_modify等命令; 另一类是与dump命令有关的输出文件, 可以输出应力、能量、原子位置、速度等等信息; 第三种是restart文件, 具体的信息请查阅write_restart命令.
lammps新手一般会很快注意到下载的lammps解压之后的一个名为examples的子目录. 面对这里面的in文件中一行行看似无序的单词和数字的组合, 如何写in文件, 恐怕是新手们的最大疑问. 很多网友在一开始学习lammps的时候, 总是问:“怎么写in文件?”, “examples目录中in文件里面的那些命令和数字是什么意思呀?”等等这些问题, 不是人家不回答, 而是实在不好回答, 无法回答. 其实你想想, 只要你会写某个
MD模拟过程的in文件了, 那lammps就完全可以计算了, 那剩下的工作仅仅是数据的后处理. 如何写in文件这要你首先看懂lammps手册下一章, 我们就讲讲lammps的manual.pdf的结构和一些对阅读这个手册的建议. (返回本文目录)
=================================================================== 4. 关于manual.pdf(20/JUL/07)的阅读建议
该manual.pdf(在lammps-*/doc目录中)有454页之多, 如果你要完全看完, 是要话一段时间和精力的. 我刚开始学习的时候, 在里问学习lammps的方法, 有网友说:“RTFM!”我很好奇这四个字母是什么意思, 他解释说:“Read The Fucking Manual!”呵呵, 看来, 读manual很痛苦这并不是个别现象, 如果你一开始看manual觉得很郁闷, 千万不要灰心放弃, 一定要坚持下去.
再者说, 对于学习任何事物的新手, 给了400多页的资料, 也绝对不应该一开始就从第一页一个字一个字地读到最后一页. 要学会把厚书读薄, 再把薄书读厚. 我大体上看了一下manual.pdf, 里面所有的内容在lammps的上都可以到. 我个人很不欣赏manual.pdf中后面的命令编排方式, 而喜欢看lammps官方网页, 一目了然, 控制自如, 我个人觉得看manual.pdf会增加我的痛苦, 呵呵.
上一段提到的“把厚手册读薄, 再把薄手册读厚. ”通过下面我的建议来体会这句话的含义. (注意, 仅仅是建议)
(0)理解一点分子动力学的基本理论
这段话是写给那些跟我一样的那些刚接触lammps的时刻也是刚接触MD的时刻的新手的, 而大多数人应该不存在这个问题. MD作为一个庞大的理论体系, 你不可能短时间内就理解的很透彻, 但是, 像“MD基本方程、积分算法、周期性边界条件、系综、驰豫” 等等这些名词你应该大体知道是什么意思吧, 要不然的话, 看lammps手册的痛苦将无法用语言形容.
我推荐给这样的新手一篇文献:
文玉华, 朱如曾, 周富信, 王崇愚, 分子动力学模拟的主要技术, 力学进展, 1(2003), P.65-73.
当然, 我相信你也应该清楚, 如果你要用lammps做MD的话, 从上面的那篇文献所学到的知识远远不够, 请继续查阅和学习大量的MD书籍文献, 最好是看英文的. 说实话, 我们不得不承认大部分中文文献没什么意思.
(1)通览一遍手册
大体上翻翻muanual.pdf, 你就会发现, 除了两页的目录, 前面95页是叫做Documentation的一部分; 后面的是叫做Comannds的一部分, 有357页之多.
Documentation部分共分为10章. 我们来分解一下这95页的内容.
前面的19页, 也就是第一章Introduction和第二章Getting started. 部分内容步骤1和步骤2中都有所涉及了, 但愿我在前面两个步骤中的讲解多少能帮助你提高这部分的阅读速度. 但是, 毕竟也只是部分内容, 没有涉及到的部分里面也有一些很重要的内容, 但是我个人感觉可能有些也用不到, 可以有选择地看一下.
第三章Comannds是第22页到第27页共6页的内容, 建议你快速扫一眼之后就去看下一章吧. 为了避免步骤4中的内容太多了, 我们将在步骤5中单独来详细讨论这一章.
第四章How-to discussions, 里面的这14小节, 建议你仔细看一下, 对于不同的问题, 有几个小节讲述的内容还是很重要的. 其实这部分在manual.pdf中也就12页.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论