lammps教程:nve/nvt/npt系綜設定方法
系綜是指大量性質和結構完全相同的、處於各種運動狀態的、各自獨立的系統的集合。
在lammps模擬中,常用的系綜有nve、nvt、npt三種系綜,下面說說這三種系綜的使用方法。
1. nve(微正則系綜)
nve系綜保證系統中原子數量n、體系總體積v和體系總能量e保持不變。
nve系綜沒有控溫的功能,初始條件確定後,在力場的作用下,原子速度發生變化,相應的體系溫度發生變化。我們知道,體系總能量e=勢能+動能,溫度發生變化,動能就會變化,勢能和動能相互轉換,總能量保持不變。
nve使用方法:
fix 1 all nve
nve語法比較簡單,使用fix語句確定原子組就可以了,nve系綜對邊界條件沒有要求。
2. nvt(等溫等壓)
nvt系綜保證體系的原子數量n、體積v和溫度t保持不變。
nvt系綜下,模擬盒子box的尺寸不會發生變化,lammps通過改變原子的速度對體系的溫度進行調節。
nvt語法:
fix ID group-ID nvt temp Tstart Tstop Tdamp
其中:
ID:fix語句ID識別符號
group-ID:原子組標識
temp:溫度標識
Tstart:初始溫度
Tstop:結束溫度
Tdamp:阻尼係數
Tstart、Tstop主要設定初始和結束溫度,Tdamp稱為阻尼係數,主要是控制溫度調節的幅度,在nvt系綜中,Tdamp一般設定為100*timestep。
#nvt系綜下恆溫:
fix 1 all nvt temp 300.0 300.0 100
#nvt系綜下升溫(比如融化):
fix 1 all nvt temp 300.0 2000.0 100
#nvt系綜下降溫(比如結晶):
fix 1 all nvt temp 2000.0 300.0 100
nvt系綜對邊界條件沒有要求。
3. npt(等壓等溫)
npt系綜保證體系的原子數量n、壓強p和溫度t保持不變。
npt系綜不僅進行控溫,還進行控壓。和nvt一樣,npt系綜通過調節原子速度調控溫度,不同的是,npt系綜下box的尺寸可以發生變化。
npt系綜通過改變box的尺寸調節壓力,比如,當體系壓力超過設定值時,擴大box尺寸降低壓力。
npt語法:
fix ID group-ID npt temp Tstart Tstop Tdamp Pstart Pstop Pdamp
npt語法和nvt差不多,只不過多了Pstart Pstop Pdamp三個引數進行壓力控制。
Pstart、Pstop分別為初始壓力、結束壓力,Pdamp壓力調節阻尼係數,通常為1000*timestep。
需要注意的是,npt在控壓方向上必須保證邊界條件為p,否則會出錯。
#溫度300k,iso表示在各個方向上進行控壓,壓力為0
fix 1 all npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0
#溫度300k,對x、y方向進行控壓,z方向不控壓
fix 1 all npt temp 300.0 300.0 100.0 x 0.0 0.0 1000 y 0.0 0.0 1000
4. 選擇依據
在模擬的時候到底應該選擇哪一個系綜,可能是初學者最頭疼的事了。
選擇系綜主要與模擬的體系、模擬的目的有關。
nve系綜是一個封閉的系統,與外界沒有能量交換,一般用於不需要控溫、體系內能量相互轉換的模擬,比如石墨烯捲曲到奈米棒。
在大多數模擬中,用nvt或者npt都可以。
以拉伸為例,使用deform進行拉伸,系綜可以為nvt,也可以為npt,不過在npt下更有容易模擬泊松效應。
使用velocity方式進行拉伸,在拉伸方向只能為s邊界,使用nvt系綜更方便。
nvt和npt系綜也可以配合使用,比如,對於比較複雜的模型,可以先進行nvt系綜下弛豫,然後再進行npt系綜下的弛豫。
系綜的選擇沒有統一的規則,最好的方法是多讀文獻,相同的模擬環境下,看看文獻中用的是哪種系綜。
--------------------------
更多lammps教程請關注微信公眾號:lammps加油站