lammps教程:boundary命令详解
boundary命令設置box的邊界條件,語法比較簡單:
boundary x y z參數xyz分別設置該維度的邊界條件,最基本的邊界條件有四種:p、f、s、m。
lammps支持對同一方向的兩個邊界設置不同的邊界條件,對y方向下表面設置f邊界、上表面設置s邊界,可以寫為:
boundary p fs p1.周期性邊界: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 #進行拉伸 ……周期性邊界條件設置比較簡單,在模擬過程中出現丟失原子或者體系演化不合理時,靈活改變周期性邊界條件可能會獲得比較理想的結果。
更多lammps教程請關注微信公眾號:lammps加油站
總結
以上是生活随笔為你收集整理的lammps教程:boundary命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于为什么我推荐大家看vue代码的随想
- 下一篇: Taro+react开发(8)--控制跳