1. 程式人生 > 其它 >lammps教程:nve/nvt/npt系綜設定方法

lammps教程:nve/nvt/npt系綜設定方法

技術標籤:lammsp教程lammps

系綜是指大量性質和結構完全相同的、處於各種運動狀態的、各自獨立的系統的集合。


在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加油站