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

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日上传。在转载并重新编排之前对原文作者表示致谢。

   1lammps命令分类整理

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. 很多命令都是在需要修改默认值的情况下才特别设置的。

 3in文件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命令复制后生成一个更大规模的计算体系(注意它与周期性边界条件是两个不同的概念)。
  4. 相应命令:

lattice ** 晶格参数
region **  选择一个区域
create_box **  创建一个盒子
create_atoms ** 创建原子
group, **  给原子分组
delete_atoms,**  删除某些原子

delete_bonds, 
displace_atoms,* 移动某些原子
replicate* 将已经构建的模型在三维重复复制放大
read_data***这个命令就是用来读取其他软件建的模型的
read_restart* 以之前运行的结果作为这次计算的初始构型  

     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等一些命令来设置。

----------------------------------------Seting---------------------------------------------

neighbor,
**  截断半径相关的设置
neigh_modify, **
timestep,** 模拟的步长
compute, *** !定义计算,一般我们需要的输出数据就需要这个命令来定义
uncompute *  取消某个compute设置
variable**这个命令可以多次使用,定义一个变量

reset_timestep, ** 步长计数器清零,有多个run命令的需注意这个
run_style, 配套run的,不一定需要
compute_modify *配套compute的

----------------------------------------Minimize-------------------------------------------
结构优化,注意和热力学平衡区分开来
minimize,**
min_style, **
min_modify **

     

     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命令控制。

------------------------------------------Output------------------------------------------
dump, ** 输出数据,输出的为单个原子的信息,可视化就用它
undump,* 取消某个dump设置
thermo, ** 输出全局数据,比如温度,压强,长度,总能量等
thermo_style,* 配套thermo的
thermo_modify,*
(后面的都是输出一些数据类型,我一般没怎么用,具体需要的可以单独自己了解)
dump image, 
dump_modify, 
dump movie, 
restart, *输出restart文件,对应前面read-restart,data文件只有原子坐标,restart含有部分计算信息
write_data, *将当前模型输出为一个data文件,对应之前的read-data,
write_dump, 
write_restart*
------------------------------------------Run a
simulation---------------------------------------- 
run,  ***这个命令出现之后,模拟才开始进行计算,前面的都是在设置计算过程

change_box, *
neb prd, 
rerun, 
temper

-------------------------------------------Others--------------------------------------------
这些命令主要可以实现循环以及逻辑判断,通过他们,可以向更复杂的模拟过程前进
clear,*   log, *   echo,   if, *  include,  jump, *   label, *  
next, *  print, *   shell,

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

  1. in文件注意事项及详细解释

    lammps做分子动力学模拟时,需要一个输入文件(input script),也就是in文件,以及关于体系的原子坐标之类的信息文件(data file)和势文件(potential file).lam ...

  2. 对单片机的modbus RTU的详细解释(转载)

    Modbus 一个工业上常用的通讯协议.一种通讯约定.Modbus协议包括RTU.ASCII.TCP.其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现.虽然RTU比较简单,但是看协议资料 ...

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

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

  4. C语言scanf函数详细解释(转载)

    原文地址:https://blog.csdn.net/21aspnet/article/details/174326 scanf 函数名: scanf 功 能: 执行格式化输入 用 法: int sc ...

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

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

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

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

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

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

  8. tar命令的详细解释

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

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

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

随机推荐

  1. Day17_购物车

    学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"乐优商城"获取视频和教程资料! b站在线视频 注:实验 ...

  2. Django学习路25_ifequal 和 ifnotequal 判断数值是否相等及加减法 {{数值|add 数值}}

    {% ifequal 数值 数值 %} <body> {# 判断是否相等 #} num 当前的值 {{ num }}<br/> {% ifequal num 5 %} {# 判 ...

  3. UOJ 422 [集训队作业2018] 小Z的礼物 min-max容斥 期望 轮廓线dp

    LINK:小Z的礼物 太精髓了 我重学了一遍min-max容斥 重写了一遍按位或才写这道题的. 还是期望多少时间可以全部集齐. 相当于求出 \(E(max(S))\)表示最后一个出现的期望时间. 根据 ...

  4. 牛客练习赛63 牛牛的树行棋 差分 树上博弈 sg函数

    LINK:牛牛的树行棋 本来是不打算写题解的. 不过具体思考 还是有一段时间的. 看完题 一直想转换到阶梯NIM的模型上 转换失败. 考虑SG函数. 容易发现 SG函数\(sg_x=max{sg_{t ...

  5. CF习题集二

    CF习题集二 一.CF507E Breaking Good 题目描述 \(Breaking Good\)这个游戏对于有经验的玩家来说也有一定的难度. 游戏的主角小明希望加入一个叫斧头帮的犯罪团伙.这个 ...

  6. 基于asp.net core 从零搭建自己的业务框架(一)

    前言 asp.net core版本选择2.2,只是因为个人习惯了vs2017,代码以及设计皆可移植到vs2019,用asp.net core 3.0以及以上运行起来 项目类似选择web api,基础设 ...

  7. 干!一张图整理了 Python 所有内置异常

    在编写程序时,可能会经常报出一些异常,很大一方面原因是自己的疏忽大意导致程序给出错误信息,另一方面是因为有些异常是程序运行时不可避免的,比如在爬虫时可能有几个网页的结构不一致,这时两种结构的网页用同一 ...

  8. Python 告诉你疫情扩散有多可怕

    今年(2020年)是注定要铭记史册的一年,从年初开始新冠疫情,席卷了全球,中国人民众志成城,为战胜疫情做出了巨大牺牲.最近北京疫情形式又变得严峻,面对疫情我们不能掉以轻心.今天我们模拟一下病毒的扩散过 ...

  9. 一切尽在掌控之中:这个Python脚本,让工作自动向你汇报进度!

    图源:unsplash 笔者经常编写Python脚本来进行数据处理.数据传输和模型训练.随着数据量和数据复杂性的增加,运行脚本可能需要一些时间.在等待数据处理完成时可以同时做一些其他工作. 很多人学习 ...

  10. 【av68676164(p51-p53)】虚拟内存管理(2)

    虚拟内存管理(2) 7.3.4 缺页终端 分级存储体系 cache+内存+辅存 页表扩充-带中断位的页表 页号 页框号 中断位I 辅存地址 访问位 修改位 1 1 0 0 0 1 中断位I-标志该页是 ...