干货分子动力学 干货详情

lammps中文教程10

春风得意马蹄疾28
分子动力学LAMMPS原子模拟计算材料学NPT系综拉伸模拟应力弛豫边界条件周期性边界条件固定边界条件收缩性边界限制性收缩边界材料建模

1.10 boundary命令

boundary命令设置box的边界条件,语法⽐较简单:

boundary x y z

参数xyz分别设置该维度的边界条件,最基本的边界条件有四种:p、f、s、m。

lammps⽀持对同⼀⽅向的两个表⾯设置不同的边界条件,如对y⽅向下表⾯设置f边界、上表⾯设置s边界,可以写为:

boundary p fs p

1. 周期性边界:p

参数p表示周期性边界条件,当粒⼦从⼀侧⻜出,会从相对应的另⼀侧再次进⼊box,⼀般情况下不会发⽣“lost atoms”丢失原⼦错误。

2. 固定边界:f

参数f表示box的表⾯在该⽅向上被固定住,不因体系压⼒的变化发⽣移动。

如果原⼦从⼀个表⾯⻜出,会提示“lost atoms”错误,设置thermo_modify lost可以允许原⼦丢失,否则模拟过程会被终⽌。

3. 收缩性边界:s

参数s表示在该⽅向上,盒⼦的表⾯会根据体系的压⼒⼤⼩或原⼦运动情况发⽣移动。

⼀般情况下,盒⼦会配合原⼦的移动,尽量把原⼦包含在box内,但是当原⼦速度过快,位移太⼤时原⼦也可能会⻜出盒⼦,造成“lost atoms”错误。

4. 限制性收缩:m

参数m功能和s差不多,盒⼦⼤⼩同样会随原⼦的移动⽽发⽣变化,但盒⼦在收缩到限定值时就不再发⽣变化,也就是盒⼦尺⼨有⼀个最⼩值。

例如z⽅向上表⾯最⼩值设为50,当该表⾯收缩到50时会停⽌收缩,类似转换成了临时性的固定边界。

通常在建模或者读取data⽂件之前设置boundary命令,在模拟运⾏的过程中也可以改变边界条件设置。

⽐如,使⽤velocity进⾏拉伸时,拉伸⽅向z不能为周期性边界条件,但是在弛豫阶段⼜需要在npt系综下消除z⽅向的应⼒,否则初始应⼒可能不为0,这种情况下就可以先使⽤周期性边界条件进⾏驰豫,在拉伸前使⽤change_box命令改变周期性条件:

boundary p p p

#进行npt系综下驰豫

……

#z方向改为s change box all boundary p p s

#进行拉伸

……

评论

0/1000发布评论
全部评论

春风得意马蹄疾

关注
TA的主页

干货推荐