温馨提示:(1)点击标题可直接到相关的“章节”。
(2)为避免混淆,上面的各“章”,在本文中用“步骤2”、“步骤5”这样的词代指;而文中其它地方出现的“章节”是指lammps手册中的章节。
(3)文中跟某些名词相关的网页已加注超链接,直接点击可浏览该页面以获得更详尽的信息。
0. 写在最开始的话从2007年5月初开始接触和学习lammps,时至今日,依然对lammps存有很多疑惑。
如同一个刚入门的工匠面对着一台功能强大的复杂机器,不知所措。
虽然还有好多好多的东西要学习,但是也已经了解了一些最最基本的东西了。
我可以去帮助那些刚刚入门的人,正如我刚刚开始学习lammps时诸位热心网友对我的帮助。
现在,我写一写自己知道的东西,希望对lammps的新手有所帮助,不当之处,真诚地希望各位读者多多指正。
我写的这点儿东西,使用者仅限于使用lammps的新手,而且里面只讲到了ubuntu下编译lammps的单机版,没有涉及并行版的编译。
我希望这个“指南”会帮他们更快地了解和学习lammps。
如果你已经在使用lammps了,我觉得这个“指南”是不会对你有什么帮助的。
不过,对于高手来说,如果你有时间,我还是希望你能看完这篇,因为我接触lammps和MD的时间都不长,我怕我的某些错误会误导新手。
所以,希望大家一起努力,完善这个指南。
对这个“指南”有任何的建议,请联系我,联系方式如下:QQ: 365449075Email: *************另外,我只把这篇文章放在这个由学校提供的个人网页空间。
之前QQ空间的那篇文章,因为对其内容改动较大,故我已将其删除。
我并不反对转载,(先自我陶醉一下下,可是会有吗?呵呵)但是转载之前,请注意:(1)文章中的一些表述我尚不肯定正确与否。
所以转载之前,请你负责任地认真读完这篇文章并确认你是否认可我的表述。
如果发现错误,请及时联系我,谢谢先了。
(2)我知道有些论坛的用户可以设置回复或者付出金币or积分等才能查看某些帖子,我坚决反对这篇文章被这么做。
(3)本文没有所谓的版权,完全是分享性质的。
转载的时候,没有必要著上是我写的,可是我不希望有一天看到这篇指南成了另外的一个名字的原创。
如果你发现文中的错误并做了修改(最好也通知我),那样我们可以算是这篇文章的共同作者。
(4)严禁本文被用作其它用途。
我还要再次重申,我不想写成像教科书一样的东西。
我写这篇指南的意图也绝对不是“ 哦,你是lammps新手吧,那你按照我说的做吧。
”那我岂不成了教父了?呵呵。
要知道,这篇文章的作者只不过是一个3个月前才知道世上有lammps这款代码的家伙,他根本就没有完全读完和读懂lammps手册,他对MD的基本理论了解的是少之又少。
我只不过是想结合我学习lammps的过程,写一下我的体会和建议,供新手参考。
如果你觉得这个指南对你有用,那固然很好;但是如果你看后觉得我说的都是屁话,那也很好,你可以按照另外的思路去学习lammps,同时,你还可以按照我的联系方式大骂我一顿,我也会洗耳恭听的。
如果这篇文章真的对lammps的初学者有些许帮助,那我将感到十分的欣慰。
(返回本文目录)1. 首先确定lammps是不是适合你可以从以下两个网页找到答案:/features.html/non_features.html如果你觉得看英文很不爽,这里有一个中文翻译----By hooge.lu我也简单说几句,分子动力学要做的,大部分lammps都可以做(呵呵,这句话我是听别人说的)。
lammps源代码公开,免费下载,你可以根据自己的需要修改lammps代码,重新编译。
lammps可以在并行环境中运行,这更能体现出它强大的计算优势。
它能模拟上百万的原子体系,气态,液态或者固态,在各种系综下。
lammps提供了各种势函数供你选择,具体请到lammps官网查询。
再说说lammps所谓的“缺点”吧。
相比lammps的计算能力,它提供给我们的前后处理的功能显得相对弱了一些。
对于一些复杂体系初始构型的建立,lammps表现得并不是很尽如人意。
所以lammps提供了一个read_data命令可以读入一个data文件,这个文件包括体系中各个原子的xyz坐标等等相关参数。
对于这个文件中定义系统的部分,我有两个建议,用其它的软件做好体系构型,导出数据文件,然后按照lammps规定的格式(参阅手册中read_data命令)修改;或者你的计算体系构型中原子的排布有某种规律可循,你就自己编程从而获得lammps需要的data文件。
提醒一下,上面提到的通过data文件的方式建立系统的初始构型,是在你已掌握你的体系的相关参数的基础之上的,lammps只是规定了这个data文件的语法格式而已。
同时,lammps 提供的各种势函数,它也是提供了各种函数的表达式,至于各个函数所需要的参数,lammps 并不会告诉你应该填多少。
这些参数都需要你在用lammps计算之前就已经知道。
如何知道?这个问题我就不能回答了,一种办法是参阅相关的文献(这么说貌似很牵强哦)。
还有一个可能被新手抱怨的原因就是lammps没有图形界面。
这使得你无法直观地看到你模拟的系统,相关的建议是采用其它的可视化软件,如AtomEye,VMD,raster3d等等。
我用的是VMD,Linux版本和Windows版本都有。
VMD 的简单使用:File -> New Molecule… Browse… then Load 读入xyz 文件Graphics -> Representation…Create Rep新建层(VMD中对同一个Rep中所有原子的大小颜色同时控制,所以要对不同种类的原子分别设置显示效果,需要新建几个Rep)Selections 结合Keywords和Value设置每个层中的原子。
(Selected Atoms中把all删除,然后双击某个Keywords如type,然后再在Value栏里双击某个种类,之后Apply)Draw style中Coloring Method建议选择ColorID ,然后在后面选择颜色;Drawing Method 建议选择Beads ,然后在Sphere Scale和Sphere Resolution中调整球的大小和清晰度计算结果的数据处理在lammps中也显得不是很方便,你可能需要自己编程进一步处理。
至于一些数据曲线的作图,Windows下的Origin,Linux下的labplot足以应付这个问题了。
以上我只是把features.html和non_features.html里面的内容结合我的理解简单地说了几句。
我建议你认真阅读这两个网页,毕竟,下面的几个步骤,还有那阅读那让人痛苦的手册,都是建立在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官方网页。
下载之后,你会得到一个*.tar.gz的压缩文件包,在linux的终端,用以下的命令解压。
gunzip lammps*.tar.gztar xvf lammps*.tar之后,你会得到一个名为lammps-*的文件夹(注意,这里的*是通配符)。
最新版本的lammps 是用C++写的,编译之前,你的linux系统中需要有一个编译器。
抱歉地说,我忘记ubuntu 是否自带这个编译器了,如果没有的话,用sudo apt-get install build-essential这个命令安装,这需要你的系统管理员帐户和密码。
下面说ubuntu下编译单机版的lammps的过程(并行的编译我还没去学习,如果需要,建议你查阅这个帖子----By hooge.lu)。
首先到~lammps/src/STUBS目录下,输入make,回车。
然后返回到~lammps/src/目录下,输入make serial,回车。
好了,现在你会看到屏幕上的字幕流,表示lammps正在被编译。
喝口茶,等会儿,剩下的事情ubuntu会帮你搞定。
如果成功编译,在~lammps/src/目录下,会生成了一个名为lmp_serial的可执行文件,计算,就是靠它了。
(返回本文目录)3. 如何使用lammps进行计算先简要地说说lammps的运行过程:lammps本身没有图形界面,模拟计算的过程都是在linux终端执行。
计算的时候,需要用户写一个输入文件(input script),可能还需要一个data文件,至于如何写输入文件,我们稍后讨论。