lammps教程:velocity命令三种使用方法
原子速度在分子動力學模擬中是一個重要的參數,不僅決定了當前時刻體系的溫度,也決定了原子在下一個的位置。
速度的設置是分子動力學模擬必不可少的一個步驟。
在lammps中,使用velocity命令設置原子的速度,命令格式為:
velocity group-ID style args keyword value ...其中,group-ID指定哪一組原子將要被設置速度,style決定了速度設置的類型。
常見的速度設置方式有以下三種:
(1)velocity create進行初始化
分子動力學模擬需要有一個初始的狀態,因此,當原子模型建立完成,進行minimize能量最小化之后,需要進行速度初始化,體系的溫度是由原子的溫度計算得到,因此,這個過程也稱為溫度初始化。
使用的命令為velocity create,例如:
velocity all create 300 4928459這一條語句的作用是對所有原子進行速度初始化,總體系的溫度為300k,4928459為隨機數,每個原子的速度被隨機設置,默認的情況下,原子的速度符合正態分布。
也可以設置dist參數,使原子的速度符合高斯分布:
velocity all create 300 4928459 dist gaussian當然,也可以對部分原子進行速度初始化,只需要改變原子組即可:
velocity mobile create 298 4928459(2)velocity set設置原子在特定方向上的速度
在拉伸、剪切等動力學模擬中,需要這種一部分原子沿著某一個方向移動,可以使用velocity set命令設定特定方向的速度。
例如在沿著Z軸進行拉伸模擬時,需要把底部原子固定住,使上部(top)原子沿著Z軸施加一個速度,可以寫為:
velocity top set NULL NULL 2 sum yes units box上句代碼中 NULL NULL 2 表示不設置x和y方向的速度,僅設置z方向速度,sum yes的意思是將速度2加到原子當前時刻速度分量上,如果不寫sum yes,則表示忽略原來的速度,直接將z方向速度直接設為2。
默認的單位為晶格單位(lattice),units box關鍵字可將單位設置為實際速度單位,具體單位與體系units有關。
多個方向同時設置:
velocity top set 2 2 0 sum yes將x、y方向移動速度設為2(晶格單位),z方向速度為0,覆蓋掉原來的速度值。設置之后相當于top組原子沿著x和y方向的對角線方向移動。
(3)velocity ramp設置速度場
lammps允許在某一個方向上按照不同的坐標位置設置不同的速度,例如:
velocity flow ramp vx 0.0 5.0 y 5 15這句代碼是將y坐標從5到15的原子在x方向的速度設為0到5,y坐標小于5的原子x方向速度為0,y坐標大于15的原子x方向的速度為5,中間的原子x方向速度按照比例關系進行設定,例如y坐標為10的原子x方向上的速度為2.5。
掌握以上三種velocity用法,可以應付絕大部分的模擬場景,如果需要更復雜的速度設置,可以查lammps手冊。
更多lammps教程請關注微信公眾號:lammps加油站
總結
以上是生活随笔為你收集整理的lammps教程:velocity命令三种使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从零开发一个命令行脚手架工具 等
- 下一篇: Taro+react开发(26)taro