lammps教程:fix setforce命令详解
生活随笔
收集整理的這篇文章主要介紹了
lammps教程:fix setforce命令详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在分子動力學模擬中,有時需要固定一部分原子,例如,使用velocity命令對體系進行拉伸時,固定底部原子,對頂部原子施加一定的速度實現拉伸。
在納米磨削中,也需要固定設置一個固定層,防止工件在磨削力的作用下移動。
在lammps中固定原子的方式有多種,我比較常用的是fix setforce命令。
fix setforce命令語法格式為:
fix ID group-ID setforce fx fy fz keyword value ...其中:
- ID是本次fix設置的id,可以任意命名。
- group-ID是需要被施加力的原子組
- fx、fy、fz是施加力的方向和大小。
fix setforce原理是在xyz方向上設置原子新的受力值,如果某個方向不需要設置,可設為NULL。
#將indenter在xyz三個方向的受力設為0 fix freeze indenter setforce 0.0 0.0 0.0 #將edge在yz方向上的受力設為0,x方向受力保持原值不變 fix 2 edge setforce NULL 0.0 0.0如果打算固定boundary組,就可以把boundary組各個方向的受力設為0:
fix 1 boundary setforce 0.0 0.0 0.0如果只是使用setforce一句命令,有可能還會存在一個問題。
當boundary組的原子手里為0,但如果boundary組原子有非零溫度,也就是原子有速度的話,即使受力為0,原子也會按照初始的速度繼續移動,同樣達不到固定原子的效果。
這種情況下,需要配合velocity使用,把該原子組的速度設為0.
velocity boundary set 0.0 0.0 0.0 fix 1 boundary setforce 0.0 0.0 0.0上面兩句代碼配合使用,就可以固定boundary原子。
更多lammps教程和源代碼請關注微信公眾號:lammps加油站
總結
以上是生活随笔為你收集整理的lammps教程:fix setforce命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。