分享幾個(gè)LAMMPS常用命令
一、run命令使用技巧,多次run正確寫法
run命令是lammps模擬中必不可缺的一個(gè)命令,主要功能是設(shè)定運(yùn)算步數(shù)并啟動(dòng)運(yùn)算。
最常見的命令是run+步數(shù),其實(shí),run命令還有更高級(jí)的應(yīng)用,下面分類介紹run命令的用法。
(1)運(yùn)行N步:run?N
run+步數(shù)是用的最多的一條命令,主要功能是運(yùn)行N步。
例如,run?1000?指在當(dāng)前狀態(tài)下繼續(xù)運(yùn)行1000步。
還有一個(gè)比較特殊的用法是:run?0
run?0功能是在不啟動(dòng)積分運(yùn)算的情況下,計(jì)算熱力學(xué)信息,此功能可用來進(jìn)行熱力學(xué)變量的初始化,如壓力、溫度等。
(2)運(yùn)行到N步:run?N?upto
加關(guān)鍵詞upto,表示從當(dāng)前步數(shù)開始,運(yùn)行到第N步結(jié)束。
例如,當(dāng)前步數(shù)為100步,run?300?upto?的意思是從第100步開始,運(yùn)行到第300步,這個(gè)run語句實(shí)際運(yùn)行步數(shù)為200步。
(3)run?N?start?N1?stop?N2
這個(gè)命令表示從N1到N2步數(shù)內(nèi),運(yùn)算N步。例如
(1)fix?????????1?all?nvt?200.0?300.0?1.0
(2)run?????????1000?start?0?stop?10000
(3)run?????????1000?start?0?stop?10000
(4)...
(5)run?????????1000?start?0?stop?10000
上面這段代碼每一個(gè)run命令運(yùn)行1000步,10個(gè)run共運(yùn)行10000步,在這10000步運(yùn)行過程中,溫度從200K到300K線性變化。

與之類似的命令:
(1)fix?1?all?nvt?200.0?300.0?1.0
(2)run?1000
(3)run?1000
(4)...
(5)run?1000
這種寫法,每運(yùn)行1000步,都要重新開始,按照系綜的設(shè)置從200->300K進(jìn)行升溫,運(yùn)行的結(jié)果類似下圖:

(4)?run?N?every?N1?command
共運(yùn)行N步,每隔N1步執(zhí)行一一次command命令,例:
(1)run?6000?every?2000?"print?'Coord?=?$q'"
共運(yùn)行6000步,每2000步在屏幕上輸出一行提示。
這個(gè)命令和下面的寫法效果是一樣的:
(1)variable?q?equal?x[100]
(2)run?2000
(3)print?"Coord?=?$q"
(4)run?2000
(5)print?"Coord?=?$q"
(6)run?2000
(7)print?"Coord?=?$q"
以上是run命令的簡(jiǎn)單介紹
二、restart重啟計(jì)算命令用法詳解
lammps提供了restart、write_restart命令保存模擬文件、read_restart命令讀取模擬文件,利用好這三個(gè)命令能夠最大程度地避免因斷電、死機(jī)等意外造成的影響。
對(duì)于比較大的體系,馳豫時(shí)間也比較長(zhǎng),在模型馳豫之后保存restart文件,在后續(xù)的模擬過程中(比如不同應(yīng)變速率的拉伸模擬),直接讀取rstart文件進(jìn)行拉伸即可,不需要再進(jìn)行馳豫,提高了模擬效率。
1.?基本原理
restart、write_restart命令能夠把當(dāng)前模擬的信息保存到一個(gè)二進(jìn)制文件中,如原子的速度、體系的溫度、原子的坐標(biāo)等,下一次讀取這個(gè)二進(jìn)制文件可以延續(xù)之前的模擬過程繼續(xù)進(jìn)行模擬運(yùn)算。
比如在第1000步保存了restart.1000文件,在運(yùn)行到第1100步時(shí)斷電,重新開機(jī)之后就可以直接讀取restart.1000文件繼續(xù)運(yùn)算,結(jié)果和正常運(yùn)算幾乎沒有差別。
保存restart文件有兩種方式:周期性保存和一次性保存。
2.?restart命令:周期性保存
restart命令可以每隔多少步保存一次restart文件,如每隔1000步保存一次:restart?1000?restart.equil
生成文件有:restart.equil.0、restart.equil.1000、restart.equil.2000、……
3.?write_restart命令:一次性保存
周期性保存文件,產(chǎn)生文件較多,在能量最小化或者馳豫階段,一般只需要在馳豫結(jié)束保存一個(gè)restart文件即可。
這時(shí)候可以在弛豫代碼后面使用write_restart命令,如:write_restart?restart.equil
4.?read_restart命令:讀取文件
重啟模擬比較簡(jiǎn)單,使用方法和read_data命令類似:read_restart?restart.equil
需要注意的是,并不是所有的模擬信息都保存在restart.equil文件中。
比如fix命令就需要在新的模擬文件中重新設(shè)置,官方手冊(cè)已經(jīng)列舉的很全面,有需要可以查查手冊(cè)。