LAMMPS常用建模方法總結

內部建模
內部建模,即使用LAMMPS提供的命令建立模型。這種方法主要用於構建比較簡單和標準的體系。
相關命令主要有4個:

lattice:定義晶格類型;
region:定義模擬盒子的大小;
create_box:創建模擬盒子;
create_atoms:在模擬盒子中創建原子。
當然,創建模型不僅限於這些命令,還有一些其他的命令,比如delete_atoms等。事實上,我看到有些大牛僅僅使用LAMMPS的內置命令,就建立了很複雜的模型。

下面簡單舉一例:構建6x6x6的FCC-Cu的晶胞。

輸入腳本:in.fcc-Cu

model of FCC-Cu, 6x6x6

boundary p p p
units metal
atom_style atomic

######################################
lattice fcc 3.61
region box block 0 6 0 6 0 6
create_box 1 box
create_atoms 1 box
######################################

pair_style eam
pair_coeff * * /home/xbduan/lammps/potentials/Cu_u3.eam

dump 1 all cfg 1 a*.cfg id type xs ys zs
dump_modify 1 element Cu
run 0
第8~11行即爲建模部分。這裏使用的命令參數很簡單,不做過多介紹。

外部建模
外部建模主要是通過數據文件 data file實現的,即只要你將你需要的構型以data file所要求的格式保存成文件,就能夠被LAMMPS讀入,而建立模型。

假如已經有了能夠反映模型的data file後,就可以直接使用read_data命令完成建模了。

data file基本格式
如下圖所示,這給出的是data file最基本的格式,只包含原子座標,而不包含鍵能鍵角等參數,一般的合金體系是這種類型。

description of data file

上面的註釋已經比較明確了,不多解釋。更多可以參考LAMMPS文檔。

data file獲取方式
實際上,只要你最後得到的data file的格式類似於上面(不包括註釋),就可以被LAMMPS讀入,而不管你是採用什麼途徑。

目前來說,比較遺憾的是還沒有任何一種軟件支持直接導出data file的文件格式,但是因爲data file文件格式還比較簡單,所以還是比較容易獲得的。

  1. 軟件導出+手動編輯

很多軟件,如Material Studio,具有強大的建模功能,而且支持很多種文件格式的導出。遺憾的是,目前還不支持直接導出data file格式。

(1)使用建模軟件完成建模後,導出xyz文件格式(因爲xyz文件格式與data file格式比較相近,比較容易修改);

(2)使用文本編輯器,參考上圖所示的data file的文件格式編輯xyz文件,主要是增加模擬盒子的參數。

這種方法適用於構型相對簡單、原子數不多的情況下,否則編輯的工作量會很大。

我寫過一個matlab腳本,可以完成這種格式轉換:【xyz2lmp: 將xyz格式轉成lammps的data file】

  1. 程序產生

使用程序建模是最自由的方式,因爲它幾乎不受任何限制。不論你的模型多麼複雜,總能夠使用一定的算法完成建模。

但,這要求你對你要建立的模型由深入的理解和有一定的編程能力來實現你的算法。

對於一些複雜的模型,如位錯、多晶等缺陷,幾乎只能用這種方法實現(如果你能夠在網上找到現成的代碼,You are lucky!)。

因爲這種方法因模型差異很大,所以這裏也不做過多介紹了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章