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