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】

2. 程序產生

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

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM