您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > lammps-新手一睹
本文结构:0.写在最开始的话1.首先确定lammps是不是适合你2.下载和编译3.如何使用lammps进行计算4.关于manual.pdf(20/JUL/07)的阅读建议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空间的那篇文章,因为对其内容改动较大,故我已将其删除。我并不反对转载,(先自我陶醉一下下,可是会有吗?呵呵)但是转载之前,请注意:(1)文章中的一些表述我尚不肯定正确与否。所以转载之前,请你负责任地认真读完这篇文章并确认你是否认可我的表述。如果发现错误,请及时联系我,谢谢先了。(2)我知道有些论坛的用户可以设置回复或者付出金币or积分等才能查看某些帖子,我坚决反对这篇文章被这么做。(3)本文没有所谓的版权,完全是分享性质的。转载的时候,没有必要著上是我写的,可是我不希望有一天看到这篇指南成了另外的一个名字的原创。如果你发现文中的错误并做了修改(最好也通知我),那样我们可以算是这篇文章的共同作者。(4)严禁本文被用作其它用途。我还要再次重申,我不想写成像教科书一样的东西。我写这篇指南的意图也绝对不是“哦,你是lammps新手吧,那你按照我说的做吧。”那我岂不成了教父了?呵呵。要知道,这篇文章的作者只不过是一个3个月前才知道世上有lammps这款代码的家伙,他根本就没有完全读完和读懂lammps手册,他对MD的基本理论了解的是少之又少。我只不过是想结合我学习lammps的过程,写一下我的体会和建议,供新手参考。如果你觉得这个指南对你有用,那固然很好;但是如果你看后觉得我说的都是屁话,那也很好,你可以按照另外的思路去学习lammps,同时,你还可以按照我的联系方式大骂我一顿,我也会洗耳恭听的。如果这篇文章真的对lammps的初学者有些许帮助,那我将感到十分的欣慰。(返回本文目录)1.首先确定lammps是不是适合你可以从以下两个网页找到答案:://lammps.sandia.gov/non_features.html如果你觉得看英文很不爽,这里有一个中文翻译—-Byhooge.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-NewMolecule…Browse…thenLoad读入xyz文件Graphics-Representation…CreateRep新建层(VMD中对同一个Rep中所有原子的大小颜色同时控制,所以要对不同种类的原子分别设置显示效果,需要新建几个Rep)Selections结合Keywords和Value设置每个层中的原子。(SelectedAtoms中把all删除,然后双击某个Keywords如type,然后再在Value栏里双击某个种类,之后Apply)Drawstyle中ColoringMethod建议选择ColorID,然后在后面选择颜色;DrawingMethod建议选择Beads,然后在SphereScale和SphereResolution中调整球的大小和清晰度计算结果的数据处理在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中你所需要的绝大多数软件都可以用sudoapt-getinstall这个命令通过网络安装,不会有Windows里面烦死人的软件破解等等问题。一段时间之后,你就会觉得ubuntu.linux带给你的美妙的享受,它的那种自由和分享的理念,这,绝对不是Windows可以给你的。在ubuntu中文论坛里,你可以学习到很多关于ubuntu的知识,解决你在使用ubuntu过程中可能会遇到的很多难题。关于ubuntu的安装,你也可以请查阅“初学者园地”的帖子,尤其是那几个置顶帖。好了,如果你拥有了linux环境,下面就开始我们体验lammps的历程。到这里下载lammps,建议你下载LAMMPSupgrade。需要说明的是,lammps更新很快,几乎每天都有源代码的修改。所以,你有必要经常关注lammps官方网页。下载之后,你会得到一个*.tar.gz的压缩文件包,在linux的终端,用以下的命令解压。gunziplammps*.tar.gztarxvflammps*.tar之后,你会得到一个名为lammps-*的文件夹(注意,这里的*是通配符)。最新版本的lammps是用C++写的,编译之前,你的linux系统中需要有一个编译器。抱歉地说,我忘记ubuntu是否自带这个编译器了,如果没有的话,用sudoapt-getinstallbuild-essential这个命令安装,这需要你的系统管理员帐户和密码。下面说ubuntu下编译单机版的lammps的过程(并行的编译我还没去学习,如果需要,建议你查阅这个帖子—-Byhooge.lu)。首先到~lammps/src/STUBS目录下,输入make,回车。然后返回到~lammps/src/目录下,输入makeserial,回车。好了,现在你会看到屏幕上的字幕流,表示lammps正在被编译。喝口茶,等会儿,剩下的事情ubuntu会帮你搞定。如果成功编译,在~lammps/src/目录下,会生成了一个名为lmp_serial的可执行文件,计算,就是靠它了。(返回本文目录)3.如何使用lammps进行计算先简要地说说lammps的运行过程:lammps本身没有图形界面,模拟计算的过程都是在linux终端执行。计算的时候,需要用户写一个输入文件(inputscript),可能还需要一个data文件,至于如何写输入文件,我们稍后讨论。假设你已经写好了这个输入文件,文件名为in.name,把这个in.name文件(如果有data文件的话,连同data文件)和在步骤2中编译得到的lmp_serial放在同一个目录下,如~/Desktop/compute/。从终端进入到这个目录,所需要的命令是:cd~/Desktop/compute然后,在终端输入./lmp_serialin.name回车。你就会发现lammps开始计算了。就这么简单。lammps的输出文件主要可以分为三种:一是log.lammps,这里面记录了整个计算过程屏幕上显示的所有信息,更详细的请参照thermo、thermo_modify等命令;另一类是与dump命令有关的输出文件,可以输出应力、能量、原子位置、速度等等信息;第三种是restart文件,具体的信息请查阅write_restart命令。lammps新手一般会很快注意到下载的lammps解压之后的一个名为examples的子目录。面对这里面的in文件中一行行看似无序的单词和数字的组合,如何写in文件,恐怕是新手们的最大疑问。很多网友在一开始学习lammps的时候,总是问:“怎么写in文件?”,“examples目
本文标题:lammps-新手一睹
链接地址:https://www.777doc.com/doc-4764638 .html