Lammps命令与in文件

41 篇文章 16 订阅
25 篇文章 0 订阅

文章来源:“分子动力学”公众号

链接:https://mp.weixin.qq.com/s/lYRYV4h7PZkWppGxalqc9w

in 文件描述一个符合牛顿定律的模拟过程,内容大致包含三个部分:

构建所模拟的体系,创造一个模拟环境的以及最后输出想得到的数据

一、各类文件

in :程序写入
log :写入状态信息(if the switch is used?)
screen : 决定结果的是否进行屏幕输出
var name : 定义一个变量,name指变量名,可为字母也可为字符串,形式$x / $ {abc}

二、指令系统介绍

1.一般来说指令的顺序并不重要,但在以下几种情况中必须注意:1. LAMMPS并不是全部读完所有指令才执行,而是读一行执行一次,因此下面的两组语句是不同的:

timestep 0.5 #以下的两个模拟其步长均为0.5 fmsec
run 100
run 100

run 100 #第一个模拟采用缺省值步长为1 fmsec
timestep 0.5
run 100 #第二个采用步长为0.5 fmsec
2. 某些指令只在其他指令之后才生效,如要得到系统温度必须先进行各种定义
3 .若A指令在B之前,B可以引用A定义的变量

三、in语法规则

1.在LAMMPS中要区分大小写,一般指令名称用小写字母,文件及用户定义ID Strings 用大写。

2.LAMMPS对每行语句的语法要求如下:

当语句太长一行放不下时,在语句一行结束的时候输入字符 “&” 表示下一行的语句接着上一行继续。
#注释,但有例外
紧跟在$后的为定义变量
单词间用空格隔开
第一个词为指令名,后面的字段都是相关的参数

四、 语句结构

1.Lammps官网命令,写in data文件时注意看:https://lammps.sandia.gov/doc/Commands_all.html

http://2.in文件包括四个部分:初始值,定义原子和盒子,设定条件,run

大致了解这些命令如下:

lattice(晶格参数),region(选择一个而区域),create_box(创建一个盒子),create-atoms(创建原子)——通过这四个命令创建原子(按晶格的方式),这种方式适合没有分子拓扑信息的晶体,如金属,盐等有规则晶体信息的物质。
五、撰写data,in文件并计算

以TIP4P水分子为例。#用in文件撰写简单的小分子模拟

水分子模型参数(看下面in文件对照着来看):Lammps官网-教程-8.5节howto discussions:https://lammps.sandia.gov/doc/Howto.html

#强力安利软件:UltraEdit——超强大的文本编辑器,编辑in data文件。(真的超好用,之后遇到很多更复杂的文件,如力场,记事本已经无法满足了,会乱序)

data  file for tip4p

3 atoms
2 bonds
1 angles 
                #非刚体结构in文件中不能写masses,刚体的话要写。full中read_data格式无masses
Coords          #坐标 x y z 

1   1.360   1.39    0.570
2   1.770   0.81    1.220
3   0.430   1.31    0.740

Types          #原子编号 类型

1  1
2  2
3  2

Charges        #电荷

1   -1.0484  
2   0.5242  
3   0.5242 
               #下面时拓扑信息 可看最开头总数
Bonds          #键的编号 键的类型 谁和谁连在一起

1  1  1 2
2  1  1 3

Angles        #一个角

1  1  2 1 3

> # in file for tip4p model
> 
> echo           screen         #调试用,打印到屏幕或log文件。none or screen or log
> or both units          real           #lj or real or metal or si or
> cgs or electron or micro or nano dimension      3              #2 or 3
> boundary       p p p          #p f s m
> 
> atom_style     full           #重要  full:molecular + charge;
> atomic:only the default values;charge:charge bond_style     harmonic
> angle_style    harmonic 
> 
> #创建一个box,并选择一个区域把水放进去 region         box block 0 10 0 10 0 10   #规划区域:定义一个长方体区域叫box,长宽高 单位angstrom create_box     2 box bond/types 1 angle/types 1  extra/bond/per/atom 2 extra/angle/per/atom 1  
> #create_box N region-ID keyword value .....;box支持多少种(大于等于实际最大值):原子类型 键 角 每个原子包含键和角
> 
> molecule       tip4 mol.data    #导入模型,需要molecule安装包才支持。
> #read_data     tip4.data        #计算完后,生成restart.data,再把in文件改一下并且下面的设置部分改一下继续算。
> 
> #region        w2 block 10 30 10 30 10 30   #可定义一个之间空的区域w2 lattice        sc 5.0     #设置晶格:晶胞类型,晶格常数。让加入的原子分子在个点上。注意边界也有分子 create_atoms   0
> region w1  mol tip4 515  units box 
> #从0开始,实际上没有0这种原子类型。设1之后,加上分子就有三种原子类型,上面create_atoms可改为3
> #create_atoms  0 random 10 1234 w1 mol tip4 12 3units box  #random不用在格点上,故lattice可不用。随机生成,前面部分是生成原子,如果后面跟了分子,则是生成以随机点为质心的分子,前面注意要对应box要支持这种分子的拓扑结构,要对应。如果没跟分子,不能从0开始
> 
> mass            1 15.9994   #原子类型,质量 mass            2 1.008
> 
> neighbor    2.0    bin   #截断半径相关的东西 neigh_modify    delay 0    every 1
> check yes      #邻近原子列表更新速度
> 
> pair_style      lj/cut/tip4p/long 1 2 1 1 0.125 8.5    #相互作用势:原子编号类型,
> 键和角的相互作用势:OM距离 ,截断 pair_coeff      1 1  0.1852573718 3.1589           
> pair_coeff      1 2  0.0000000000 1.5795 pair_coeff      2 2 
> 0.0000000000 0.0000
> 
> bond_coeff      1 1000 0.9572 angle_coeff     1 3000 104.52
> 
> kspace_style    pppm/tip4p    1.0e-5   #计算长程库仑项,需要kspace安装包才支持
> 
> dump               1 all    custom 10 tip4.lammpstrj id type x y z   
> #将信息写入tip4.lammpstrj,此后可用vmd打开视图 dump_modify     1 sort id 
> 
> #dielectric      80.0
> 
> fix             1 all  shake 0.0001    2  0  b    1 a 1  
> #设置偏差控制精度提示,步数,步数,键和角 fix             2 all nve  #系综,后面可跟定义的参数 fix             3 all temp/rescale 1  300 300 1 1.0  1.0 
> 
> #minimize 1.0e-12 1.0e-12 1000 1000   #能量最小化参数,指数越大最小化成都越深
> 
> thermo          1000 timestep        0.05    #步长fs run           
> 100000 write_data      tip41.data    #输出 write_restart   tip41.restart

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值