lammps做分子动力学模拟时,需要一个输入文件(input script),也就是in文件,以及关于体系的原子坐标之类的信息文件(data file)和势文件(potential file)。lammps在执行计算的时候,从这个in文件中读入命令,所以对LAMMPS的使用最主要的就是对in文件的编写和使用。

下面是in文件书写方面的注意事项以及对4个模块的详细解释,原文来源于百度文库:

http://wenku.baidu.com/view/152b56906bec0975f465e26a.html?re=view

由RCWDliwei于2014年4月13日上传。在转载并重新编排之前对原文作者表示致谢。

  1、lammps命令分类整理

Initialization atom_modify, atom_style, boundary,dimension, newton, processors, units
Atom definition create_atoms, create_box, lattice, read_data, read_restart, region, replicate
Force fields

angle_coeff, angle_style, bond_coeff, bond_style, dielectric, dihedral_coeff,

dihedral_style,improper_coeff, improper_style, kspace_modify, kspace_style,

pair_coeff, pair_modify, pair_style, pair_write,special_bonds

Settings

communicate, dipole, group, mass, min_modify, min_style, neigh_modify,

neighbor, reset_timestep, run_style, set, shape, timestep, velocity

Fixes fix, fix_modify, unfix
Computes compute, compute_modify, uncompute
Output dump, dump_modify, restart, thermo, thermo_modify, thermo_style, undump, write_restart
Actions delete_atoms, delete_bonds, displace_atoms, displace_box, minimize, run, temper
Miscellaneous clear, echo, if, include, jump, label, log, next, print, shell, variable

 2、命令书写注意事项

  1. 每一非空行都被认为是一条命令(大小写敏感,但极少有命令或参数大写的)。
  2. 各命令的顺序可能会对计算产生影响,但大部分情况下不会有影响。
  3. 每行后的“&” 表示续行(类似fortran);“#”表示注释(类似bash)。
  4. 每行命令中的不同字段由空格或者制表符分隔开来,每个字段可以由字母、数字、下划线、或标点符号构成。
  5. 每行命令中第一个字段表示命令名,之后的字段都是相关的参数。
  6. 很多命令都是在需要修改默认值的情况下才特别设置的。

 3、in文件4个部分的详细解释

       3.1   Initialization

这一部分包含了关于计算体系最基本的信息,例如:

  • units: 单位系统(units style),lammps现在提供包括lj、real、metal、si和cgs几种单位系统;
  • dimension: 定义了两维或者三维模拟(默认是三维);
  • boundary: 定义了分子动力学体系使用的边界条件,例如周期性边界条件或者自由边界条件等;
  • atom_style: 定义模拟体系中的原子属性,这一命令与力场设置的参数中的原子类型(atom type)不同;
  • pair_style: 相互作用力场类型,例如范德化势或者硬球势等;
  • bond_style: 键合相互作用势类型;
  • angle_style: 键角作用势类型;
  • dihedral_style: 二面角作用势类型;
  • improper_style: 混合作用势类型;

    还有其它一些参数设置,例如newton,
    processors,boundary, atom_modify等,可查阅lammps官网。

3.2   Atom definition

lammps提供3种定义原子方式:

  1. 通过read_data或read_restart命令从data或restart文件读入,这些文件可以包含分子拓扑结构信息,这一方法在续算上也很有用。
  2. 按照晶格的方式创建原子,这种方式不包含分子拓扑信息,可能会用到如下的一些命令:lattice, region, create_box, create_atoms。
  3. 对已经设置好的原子可以用replicate命令复制后生成一个更大规模的计算体系(注意它与周期性边界条件是两个不同的概念)。

      3.3   Settings

原子或分子的拓扑信息定义好后,就需要制定一系列的设置,例如力场系数、模拟参数、输出选项等。

力场系数可以通过这样的一些命令来定义:pair_coeff, bond_coeff, angle_coeff, dihedral_coeff, improper_coeff, kspace_style, dielectric, special_bonds等。实际上力场系数也可以在关于体系的原子坐标之类的信息的文件(data file)中制定,这样具体参考read_data命令的相关介绍。

模拟参数可以由如下这样一些命令来设置:neighbor, neigh_modify, group, timestep, reset_timestep, run_style, min_style, min_modify等。模拟过程中通过compute, compute_modify, variable等一些命令来制定。

输出选项可以由thermo, dump, restart等一些命令来设置。

       3.4   Run a simulation

通常run命令被设置在in文件的最后,使用run命令来开始一个分子动力学模拟的过程。另外,使用minimize命令来实施能量最小化计算,使用temper命令来进行复制品交换采样模拟。

关于LAMMPS计算前后的处理问题,计算前的原子初始形态文件的生成,由read_data读入一个data文件,这个文件包括体系中各个原子的xyz坐标等等相关参数,或者由其他软件生成并修改后符合LAMMPS的输入文件格式生成。而计算后的输出,因为LAMMPS不支持图形输出,需要借助第三方可视化软件实现,例如VMD。LAMMPS的输出文件主要可以分为三种:

一种是log.lammps,这里面记录了整个计算过程屏幕上显示的所有信息,可由thermo、thermo_modify等命令控制;

另一种是输出应力、能量、原子位置、速度等等信息,由dump命令控制输出文件;

第三种是断点续算的restart文件输出信息,由write_restart命令控制。

in文件注意事项及详细解释的更多相关文章

  1. in文件注意事项及详细解释(转载)

    转载自:https://www.cnblogs.com/sysu/p/10817315.html  和   https://www.cnblogs.com/panscience/p/4953940.h ...

  2. 移动web 的viewport设置注意事项的详细解释 六一快乐=-_-_

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. SpringBoot-02:SpringBoot中的POM文件详细解释

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 我把pom文件,以及它的详细解释发出来 <?xml version="1.0" en ...

  4. 关于 /proc/sys/net/ipv4/下 文件的详细解释

    关于 /proc/sys/net/ipv4/下 文件的详细解释: 1) /proc/sys/net/ipv4/ip_forward  该文件表示是否打开IP转发.      0,禁止      1,转 ...

  5. .htaccess语法之RewriteCond与RewriteRule指令格式详细解释

    htaccess语法之RewriteCond与RewriteRule指令格式详细解释 (2012-11-09 18:09:08) 转载▼ 标签:  htaccess it 分类: 网络 上文htacc ...

  6. cookie的详细解释

    突然看到网页上中英文切换的效果,不明白怎么弄得查了查 查到了cookie 并且附有详细解释 就copy留作 以后温习 http://blog.csdn.net/xidor/article/detail ...

  7. tar命令的详细解释

    tar命令的详细解释 标签: linuxfileoutputbashinputshell 2010-05-04 12:11 235881人阅读 评论(12) 收藏 举报  分类: linux/unix ...

  8. Linux学习笔记15——GDB 命令详细解释【转】

    GDB 命令详细解释 Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具. 和所有常用的调试工 ...

  9. Android slidingmenu详细解释 滑动的优化

    Android slidingmenu 详细解释 性能优化 转载请注明:   http://blog.csdn.net/aaawqqq 简单介绍 SlidingMenu 是github 上Androi ...

随机推荐

  1. bzoj 2516: 电梯

    Description Input Output 状压dp,状态表示为表示当前在第x层,电梯内有哪些人,哪些人还没到终点 #include<cstdio> #include<cstr ...

  2. R语言学习——R读取txt、csv、xls和xlsx格式文件

    最近项目中运用到了R读取文件数据,所以把相关好用的.经过验证的方法总结了一下,有效避免下次入坑. 1. R读取txt文件 使用R读取txt文件直接使用read.table()方法进行读取即可,不需要加 ...

  3. REST-assured 2发送消息代码重构

    将获取token的方法封装到公共类 #java package date811; import io.restassured.response.Response; import org.testng. ...

  4. 共享存储(ISCSI网络存储)

    server端:(192.168.100.11) 分区sdb 分别为10G和5G #fdisk /dev/dab …… 同步分区表 #partprobe /dev/sdb # yum install ...

  5. C#后台调用前台javascript的五种方法小结

    第一种,OnClientClick (vs2003不支持这个方法) <asp:Button ID="Button1" runat="server" Tex ...

  6. VFS文件系统结构分析

    VFS是Linux非常核心的一个概念,linux下的大部分操作都要用到VFS的相关功能.这里从使用者的角度,对VFS进行了简单说明.使用者不但需要知道Linux下有哪些文件操作的函数,还需要对VFS的 ...

  7. django-插件django REST framework,返回序列化的数据

    官网: http://www.django-rest-framework.org 1.安装 pip install djangorestframework 2.在setting.py中注册app 中添 ...

  8. 动态html处理和及其图像识别

    爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider) 之间恢宏壮阔的斗争... Day 1 小莫想要某站上所有的电影,写了标准的爬虫(基于HttpCli ...

  9. C编程常错项

    linux系统下C编程一般报错;1,使用sqrt开平方函数未定义,是因为math.h[库,头文件未包含]2,隐式申明与内建函数"XXXX"不兼容;上述问题所在,一般是因为使用exi ...

  10. (19/24) webpack实战技巧:推荐使用的第三方类库打包方法

    在日常的开发中,总避免不了引入第三方的框架,比如常用的JQuery,此节我们来学习一下如何优雅并正确的用webpack引入第三方库. 这里我们以第三方框架JQuery为例: 1.在入口文件中引入 1. ...