歡迎回來vasp實戰教學課程,同時在b站(av32743274)更新視頻教程。在理論計算化學研習社QQ羣(905699144)裏更新各種科研資料,歡迎感興趣的朋友加入討論。由於筆者知識水平有限,教程中的錯誤和不完善之處請大家多多指教,共同學習進步。

Setting up a VASP calculation

VASP requires 4 input files to run a calculation:

  1. ? INCAR
  2. ? POSCAR
  3. ? KPOINTS
  4. ? POTCAR

Vasp所有文件的介紹:

http://cms.mpi.univie.ac.at/vasp/guide/node50.html#SECTION00070000000000000000

注意:VASP的文件名沒有後綴,用純文本編輯器可以打開查看,如sublime,notepad++,editplus等。

VASP計算只需要4個輸入文件嗎?

不是!VASP的輸入文件類型非常多。常用的有CHGCAR(電子密度),WAVECAR(波函數信息),其他的暫時不需要知道。

一些複雜的計算需要額外的輸入文件,

比如:metadynamics(ICONST,PENALTYPOT)

DIMER尋找過渡態(MODECAR)

各向異性優化晶胞(OPTCELL)

INCAR

The INCAR file is the central input file of VASP. It determines "what to do and how to do it". There is a relatively large number of parameters that may be set by means of tags in the INCAR file.

INCAR就是告訴vasp算什麼怎麼算:

比如下面我們用的第一個計算例子(計算Si的primitive cell能量):

System = fcc Si

ISTART = 0 ; ICHARG = 2ENCUT = 240ISMEAR = 0; SIGMA = 0.1

一般建議給INCAR裏的關鍵詞加註釋

#或者!為注釋,VASP不識別#後面的內容,#是寫出來給自己看的,不是給程序看的

至於為什麼要加註釋,好多初學者都苦惱這麼多關鍵詞根本記不住。加註釋就是為了讓自己記住每個關鍵詞是幹什麼的。注釋用中英文都可以,但是考慮到伺服器的編碼問題,最好用英文。

#### initial parameters #####

SYSTEM = Al2O3CelloptISTART = 1 # whether or not to read the WAVECAR file.

ICHARG = 1 # how VASP constructs the initial charge density.

#### SCF parameters ####ENCUT = 600 # cutoff energy for the planewave basis set in eVISMEAR = 1 # how the partial occupancies are set for each orbital.SIGMA = 0.2 # the width of the smearing in eV.

INCAR的注意事項:

1)INCAR準備的原則是,越簡單越好。 任何計算程序都是越簡單越好!

那些把輸入文件寫的天花亂墜又說不出來為什麼的都是菜鳥。因為默認參數都是適用於絕大多數體系的合理選擇.

2)每添加一個關鍵詞都應該清楚的瞭解這個關鍵詞是幹什麼的。

3)格式:關鍵詞 = 參數(可能是一個或多個整數,浮點數,.True., .False.)

4) INCAR裏的參數學習非常重要,時常翻閱VASPwiki對進步十分有幫助(vasp PDF手冊已於2016年停止更新)。好多VASP的老玩家也常常搞不清楚一些參數的用法。

5)本課程會對用到的參數做詳細的講解,並且給出使用建議,如果不想花時間學習具體用法,可以直接看每個關鍵詞的「建議」部分。

關鍵詞講解: SYSTEM

默認:SYSTEM = unknown system

就是自己給計算任務起個名字,可以隨便寫任何內容。

建議:一個體系用一個名稱就可以。比如:SYSTEM = Fe3/Al2O3

用處不大,在科研中建議用目錄的名稱給計算任務的起名分類。

關鍵詞講解: ISTART = 0 | 1 | 2 | 3

默認:ISTART = 1 if a WAVECAR file exists

= 0 else

是否讀取波函數:(WAVECAR是保存計算波函數信息的文件,每個計算都會生成一個WAVECAR文件)

0由程序初猜產生。

1從WAVECAR裏讀取,如果沒有WAVECAR,或者WAVECAR裏信息和當前計算使用的參數不兼容,則波函數由初猜產生。

2讀取WAVECAR並使用同樣的基組,只在計算(體積-能量)相關曲線的時候用的到。

3在重啟分子動力學計算的時候使用,同時需要WAVECAR和TMPCAR文件。

建議:用ISTART = 1是穩妥的辦法。除非特殊說明。但是要注意讀取的WAVECAR的計算和要開始的計算體系必須一樣或者很接近,否則不如不讀取,一般我們經常需要續算,所以=1是個比較方便的選擇,但是出了問題要知道為什麼。

關鍵詞講解: ICHARG = 0 | 1 | 2 | 4 |10|11|12

默認:ICHARG = 2 if ISTART=0

= 0 else

Vasp的電荷密度初猜:(CHGCAR是保存電荷密度信息的文件,每個計算都會生成一個CHGCAR文件)

0由WAVECAR計算電荷信息。如果沒有WAVECAR則自動ICHARG = 2.

1從CHGCAR裏讀取外推,如果沒有CHGCAR,則進行初猜產生。

2初猜,通過原子電荷密度疊加產生。

3在重啟分子動力學計算的時候使用,同時需要TMPCAR文件。

10|11|12做非自洽計算的時候使用,電荷密度讀CHGCAR保持不變,DOS和能帶計算的時候使用。

建議:用ICHARG = 1是穩妥的辦法。除非由特殊說明做非自洽計算。例如做DOS和band structure。

關鍵詞講解: ENCUT = [float]

默認:ENCUT= largest ENMAX on the POTCAR file

控制平面波的截斷能。啥是平面波的截斷能呢?

如圖, 由三個正弦函數可以疊加得到下面的函 數,想要描述更精確的波函數,顯然平面波的 基組越大越好,但同時計算量也會增大。ENCUT就是 控制使用的平面波基組的大小,也就是平面波的截斷能。

默認用POTCAR(贗勢文件)給出的建議範圍的最大值(ENMAX)。

建議:根據自己的計算機資源水平取,一般400 eV對計算表面科學足夠了,在優化晶胞或者做要求高精度計算時需要提高ENCUT。

關鍵詞講解: ISMEAR = -5 | -4 | -3 | -2 | -1 | 0 | [integer]>0

默認:ISMEAR = 1

SIGMA = [real]

默認: SIGMA = 0.2

非常重要:控制vasp如何處理費米能級附近,分數佔據的軌道。為了快速收斂到積分的精確解。

推薦閱讀vaspwiki:

http://cms.mpi.univie.ac.at/wiki/index.php/ISMEAR

想要了解原理的玩家推薦閱讀:

https://docs.quantumwise.com/v2017/manuals/technicalnotes/occupation_methods/occupation_methods.html

ISMEAR=N (N>0): method of Methfessel-Paxton order N. (可能導致負佔據數)

ISMEAR=0: Gaussian smearing.ISMEAR=?1: Fermi smearing.ISMEAR=?2: partial occupancies are read in from the WAVECAR or INCAR file, and kept fixed throughout run. To set the occupancies, specify.

ISMEAR=?4: tetrahedron method

(use a Γ-centered k-mesh).ISMEAR=?5: tetrahedron method withBl?chl corrections (use a Γ-centered k-mesh)

注意:會引入電子熵S, F[n]=E[n]?TS。這裡暫時不詳細講了。

建議

金屬(沒有帶隙的體系): ISMEAR=1;SIGMA = 0.2 。注意entropy term should be less than 1 meV per atom。 檢查的時候可以用這個命令: grep entropy T OUTCAR (這裡有兩個單引號,不要輸入的時候漏掉) 得出的能量除以體系中原子的數目,然後再和 0.001 eV 比較,如果小於,SIGMA取值OK,如果大於,再換個測試。

絕緣體或半導體:ISMEAR = 0 ;SIGMA = 0.05。

DOS計算,或要求高精度的能量計算: ISMEAR = -5,SIGMA的值可以忽略,也可以不管(VASP會自動略過)。如果粗略定性分析DOS,ISMEAR也可以用其他值。

分子計算: ISMEAR = 0 ;SIGMA = 0.01

INCAR關鍵詞總結晶體單點能的計算(1):

金屬(如Pt):

ISTART = 1

ICHARG = 1ENCUT = 400ISMEAR = 1SIGMA = 0.2EDIFF = 1E-6

非金屬(如Si):

ISTART = 1

ICHARG = 1ENCUT = 400ISMEAR = 0SIGMA = 0.05EDIFF = 1E-6

EDIFF以後詳細講,是scf迭代的收斂精度,默認值是1×10-4 eV,作為練習可以。

實際科研計算需要更高的收斂精度。比如表面優化計算1E-5,過渡態1E-6,頻率計算1E-7. 不同計算需要的收斂精度不一樣。


推薦閱讀:
相關文章