lammps教程:1D正弦粗糙界面建模建模教程
大家好,我是小馬老師。
本文以一篇論文為例,介紹lammps粗糙界面建模方法。粗糙界面在流體、摩擦和吸附模擬中用的較多,建模方法也多種多樣。本文參考Xin He發表的一篇論文《The evolution of configuration and final state of graphene on rough iron surface》。論文下載地址:
https://doi.org/10.1016/j.apsusc. 2020.147084論文中模擬了四種粗糙界面:一維正弦粗糙面、二維正弦粗糙面、偽隨機高斯粗糙面、隨機粗糙面。
本文主要介紹一維正弦粗糙面的建模方法,后面陸續推出其它粗糙面建模。一維正弦粗糙面如上圖(a)所示,在xz面內,模型的上表面輪廓是一條正弦曲線。建模原理是使用create_atoms var和set命令,具體步驟:(1)創建曲面方程本文中,粗糙界面是一個規則的正弦曲面,因此,曲面方程為:
z=Asin(ωx)+kA為振幅,控制曲面起伏的高度
ω控制正弦的周期,控制曲面起伏的個數
k為偏距,控制曲面的上下位置
在本例中,曲面方程為:
參數可根據課題需要自己調整。(2)根據曲面方程填充原子create_atoms var v命令根據v的取值判斷是否創建原子。如果v的取值為0,不創建原子,如果v的取值為非0,則創建原子。因此,如果v的取值和曲面方程聯系起來,當原子的坐標位于曲面下方時創建原子,位于曲面上方時不創建原子,這樣就可以生成具有特定曲面的結構。具體語法為:
variable v equal "v_zz < (8 * sin(v_xx * 2.0*PI/30) +30 ) "最終效果為:
完整in文件代碼為:
dimension 3 units metal atom_style atomic variable x equal 40 variable y equal 25 lattice fcc 3.61 region box block 0 $x 0 $y 0 20 create_box 1 box variable xx internal 0.0 variable zz internal 0.0 variable v equal "v_zz < (8 * sin(v_xx * 2.0*PI/30) +30 ) " create_atoms 1 box var v set x xx set z zz write_dump all atom all.xyz怎么樣,是不是很簡單?有興趣的可以嘗試二維正弦曲面建模,后面的推文會給出對應的代碼:
公眾號:lammps加油站
總結
以上是生活随笔為你收集整理的lammps教程:1D正弦粗糙界面建模建模教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 甘肃甘南步班邮递员:草原上的“递爱”艰途
- 下一篇: 前端学习(3265):js中undefi