1、VASP 能夠進行哪些過程的計算?怎樣設(shè)置?
我們平時最常用的研究方法是做單點能計算,結(jié)構(gòu)優(yōu)化、從頭計算的分子動力學(xué)和電子結(jié)構(gòu)相關(guān)性質(zhì)的計算。 一般我們的研究可以按照這樣的過程來進行 如果要研究一個體系的最優(yōu)化構(gòu)型問題可以首先進行結(jié)構(gòu)弛豫優(yōu)化 然后對優(yōu)化后的結(jié)構(gòu)進 , 行性質(zhì)計算或者單點能計算。如果要研究一個體系的熱力學(xué)變化過程可以首先進行分子動力學(xué)過程模擬 然后在某個溫度 , 或壓強下進行性質(zhì)計算或者單點能計算。 如果要研究一個體系的熱力學(xué)結(jié)構(gòu)變化可以首先在初始溫度下進行 NVT 計算,然后進行分 子動力學(xué)退火,然后在結(jié)束溫度下進行性質(zhì)計算研究。
2、什么是單點能計算(single point energy)?如何計算?
跟其它軟件類似,VASP 具有單點能計算的功能。也就是說,對一個給定的固定不變的結(jié)構(gòu)(包括原子、分子、表面或體材料)能夠計算其總能,即靜態(tài)計算功能。 單點能計算需要的參數(shù)最少,最多只要在 KPOINTS 文件中設(shè)置一下合適的 K 點或者在 INCAR 文件中給定一個截斷能 ENCUT 就可以了。還有一個參數(shù)就是電子步的收斂標準的 設(shè)置 EDIFF,默認值為 EDIFF=1E-4,一般不需要修改這個值。 具體來說要計算單點能,只要在 INCAR中設(shè)置 IBRION=-1 也就是讓離子不移動就可以了。
3、什么是結(jié)構(gòu)優(yōu)化(structureoptimization)?如何計算?
結(jié)構(gòu)優(yōu)化又叫結(jié)構(gòu)弛豫(structurerelax),是指通過對體系的坐標進行調(diào)整,使得其能量或內(nèi)力達到最小的過程,與動力學(xué)退火不同,它是一種在0K下用原子間靜力進行優(yōu)化的 方法。可以認為結(jié)構(gòu)優(yōu)化后的結(jié)構(gòu)是相對穩(wěn)定的基態(tài)結(jié)構(gòu),能夠在實驗之中獲得的幾率要大些(當然這只是理論計算的結(jié)果,必須由實驗來驗證)。 一般要做弛豫計算,需要設(shè)置弛豫收斂標準,也就是告訴系統(tǒng)收斂達成的判據(jù) (convergence break condition) , 當 系 統(tǒng) 檢 測 到 能 量 變 化 減 小 到 一 個 確 定 值 時 例 如 EDIFFG=1E-3 時視為收斂中斷計算,移動離子位置嘗試進行下一步計算。EDIFFG這個值 可以為負,例如 EDIFFG=-0.02,這時的收斂標準是當系統(tǒng)發(fā)現(xiàn)所有離子間作用力都小于給定的數(shù)值,如0.02eV/A 時視為收斂而中斷。 弛豫計算主要有兩種方式:準牛頓方法(quasi-Newton RMM-DIIS)和共軛梯度法(CG) 兩種。準牛頓方法計算速度較快,適合于初始結(jié)構(gòu)與平衡結(jié)構(gòu)(勢能面上全局最小值)比較
接近的情況而CG 方法慢一些找到全局最小的可能性也要大一些選擇方法為 IBRION=1? 。 時為準牛頓方法而 IBRION=2 時為 CG方法。 具體來說要做弛豫計算,設(shè)置 IBRION=1 或者 2 就可以了,其它參數(shù)根據(jù)需要來設(shè)置。 NSW是進行弛豫的最大步數(shù),例如設(shè)置 NSW=100,當計算在 100 步之內(nèi)達到收斂時計算 自動中斷,而 100 步內(nèi)沒有達到收斂的話系統(tǒng)將在第 100 步后強制中止(平常計算步數(shù)不 會超過 100 步,超過 100 步可能是計算的體系出了問題)。參數(shù)通常可以從文獻中發(fā)現(xiàn),例如收斂標準EDIFFG 等。 有的時候我們需要一些帶限制條件的弛豫計算,例如凍結(jié)部分原子、限制自旋的計算等 等。凍結(jié)部分原子可以在 POSCAR 文件中設(shè)置 selective dynamic 來實現(xiàn)。自旋多重度限制可以在 INCAR 中以 NUPDOWN 選項來設(shè)置。另外 ISIF 選項可以控制弛豫時的晶胞變化情況,例如晶胞的形狀和體積等。 費米面附近能級電子分布的 smearing是一種促進收斂的有效方法,可能產(chǎn)生物理意義 不明確的分數(shù)占據(jù)態(tài)情況,不過問題不大。在 INCAR文件中以 ISMEAR 來設(shè)置。一般來說 K 點只有一兩個的時候采用 ISMEAR=0,金屬體材料用 ISMEAR=1 或 2,半導(dǎo)體材料用ISMEAR=-5 等等。不過有時電子步收斂速度依然很慢,還需要設(shè)置一些算法控制選項,例 如設(shè)置ALGO=Very_Fast,減小真空層厚度,減少 K 點數(shù)目等。 弛豫是一種非常有效的分析計算手段雖然是靜力學(xué)計算但是往往獲得一些動力學(xué)得不 , 到的結(jié)果。
4、如何利用VASP做分子動力學(xué)模擬?
VASP做分子動力學(xué)的好處,由于VASP 是近些年開發(fā)的比較成熟的軟件,在做電子 scf 速度方面有較好的優(yōu)勢。缺點:可選系綜太少。盡管如此,對于大多數(shù)有關(guān)分子動力學(xué)的任務(wù)還是可以勝任的。 主要使用的系綜是 NVT和NVE。 一般做分子動力學(xué)的時候都需要較多原子,一般都超過 100 個。 當原子數(shù)多的時候,K點實際就需要較少了。有的時候用一個K點就行,不過這都需要嚴 格的測試。通常超過 200 個原子的時候,用一個K 點,即Gamma 點就可以了。 INCAR: EDIFF 一般來說,用 1E-4 或者 1E-5 都可以,這個參數(shù)只是對第一個離子步的自洽影響大一些,對于長時間的分子動力學(xué)的模擬,精度小一點也無所謂,但不能太小。 IBRION=0 分子動力學(xué)模擬 IALGO=48 一般用 48,對于原子數(shù)較多,這個優(yōu)化方式較好。 NSW=1000 多少個時間步長。 POTIM=3 時間步長,單位 fs, 通常 1 到 3. ISIF=2 計算外界的壓力. NBLOCK= 1 多少個時間步長,寫一次 CONTCAR,CHG 和CHGCAR,PCDAT. KBLOCK=50 NBLOCK*KBLOCK 個步長寫一次 XDATCAR.(個離子步寫一次 PCDAT.) ISMEAR=-1 費米迪拉克分布. SIGMA =0.05 單位:電子伏
NELMIN=8 一般用 6到8, 最小的電子 scf 數(shù).太少的話,收斂的不好. LREAL=AAPACO=10 徑向分布函數(shù)距離, 單位是埃.NPACO=200 徑向分布函數(shù)插的點數(shù). LCHARG=F 盡量不寫電荷密度,否則 CHG 文件太大.TEBEG=300 初始溫度. TEEND=300 終態(tài)溫度。 不設(shè)的話,等于 TEBEG. SMASS=-3 NVE ensemble;-1 用來做模擬退火。大于0 NVT 系綜。正確:SMASS=1,2,3 是 沒有區(qū)別的。都是 NVT ensemble。SMASS 只要是大于 0 就是 NVT 系綜。CONTCAR 是每個離子步之后都會寫出來的,但是會用新的把老的覆蓋 CHG 是在每 10 個離子步寫一次,不會覆蓋 CHGCAR 是在任務(wù)正常結(jié)束之后才寫的。
?
5、收斂判據(jù)的選擇是什么?
?
結(jié)構(gòu)弛豫的判據(jù)一般有兩中選擇:能量和力。這兩者是相關(guān)的,理想情況下,能量收斂到基態(tài), 力也應(yīng)該是收斂到平衡態(tài)的。 但是數(shù)值計算過程上的差異導(dǎo)致以二者為判據(jù)的收斂 速度差異很大, 力收斂速度絕大部分情況下都慢于能量收斂速度。 這是因為力的計算是在能量的基礎(chǔ)上進行的, 能量對坐標的一階導(dǎo)數(shù)得到力。 計算量的增大和誤差的傳遞導(dǎo)致力收斂 慢。 到底是以能量為收斂判據(jù),還是以力為收斂判據(jù)呢?關(guān)心能量的人,覺得以能量為判據(jù)就夠了; 關(guān)心力相關(guān)量的人, 沒有選擇, 只能用力作為收斂標準。 對于超胞體系的結(jié)構(gòu)優(yōu)化, 文獻大部分采用 Gamma 點做單點優(yōu)化。這個時候即使采用力為判據(jù)(EDIFFG=-0.02) ,在 做靜態(tài)自洽計算能量的時候, 會發(fā)現(xiàn), 原本已經(jīng)收斂得好好的力在不少敏感位置還是超過了 結(jié)構(gòu)優(yōu)化時設(shè)置的標準。這個時候,是不是該懷疑對超胞僅做 Gamma 點結(jié)構(gòu)優(yōu)化的合理性 呢?是不是要提高 K 點密度再做結(jié)構(gòu)優(yōu)化呢。在我看來,這取決于所研究的問題的復(fù)雜程度。我們的計算從原胞開始,到超胞,到摻 雜結(jié)構(gòu),到吸附結(jié)構(gòu),到反應(yīng)和解離。每一步都在增加復(fù)雜程度。結(jié)構(gòu)優(yōu)化終點與初始結(jié)構(gòu)是有關(guān)的,如果遇到對初始結(jié)構(gòu)敏感的優(yōu)化,那就頭疼了。而且,還要注意到,催化反應(yīng)不 僅與原子本身及其化學(xué)環(huán)境有關(guān), 還會與幾何構(gòu)型有關(guān)。 氣固催化反應(yīng)過程是電子的傳遞過程,也是分子拆分與重新組合的過程。如果優(yōu)化終點的構(gòu)型不同,可能會導(dǎo)致化學(xué)反應(yīng)的途 徑上的差異。僅從這一點來看,第一性原理計算的復(fù)雜性,結(jié)果上的合理性判斷都不是手冊上寫的那么簡單。 對于涉及構(gòu)型敏感性的結(jié)構(gòu)優(yōu)化過程,我覺得,以力作為收斂判據(jù)更合適。而且需要在 Gamma 點優(yōu)化的基礎(chǔ)上再提高 K 點密度繼續(xù)優(yōu)化, 直到靜態(tài)自洽計算時力達到收斂標準的。
6、如何進行結(jié)構(gòu)優(yōu)化參數(shù)設(shè)置?
結(jié)構(gòu)優(yōu)化,或者叫弛豫,是后續(xù)計算的基礎(chǔ)。其收斂性受兩個主要因素影響:初始結(jié)構(gòu)的合理性和弛豫參數(shù)的設(shè)置 初始結(jié)構(gòu)
初始結(jié)構(gòu)包括原子堆積方式,和自旋、磁性、電荷、偶極等具有明確物理意義的模型相關(guān)參數(shù)。比如摻雜,表面吸附,空位等結(jié)構(gòu),初始原子的距離,角度等的設(shè)置需要有一定的 經(jīng)驗積累。DFT 計算短程強相互作用(相對于范德華力),如果初始距離設(shè)置過遠(如超過 4 埃) ,則明顯導(dǎo)致收斂很慢甚至得到不合理的結(jié)果。 比較好的設(shè)置方法可以參照鍵長。比如 CO 在 O 頂位的吸附,可以參照CO2 中 C-O 鍵 長來設(shè)置(如增長 20%)。也可以參照文獻。記住一些常見鍵長,典型晶體中原子間距離等 參數(shù),有助于提高初始結(jié)構(gòu)設(shè)置的合理性。實在不行,可以先在小體系上測試,然后再放到 大體系中算。 弛豫參數(shù)弛豫參數(shù)對收斂速度影響很大,這一點在計算工作沒有全部鋪開時可能不會覺察到有 什么不妥,反正就給 NSW 設(shè)置個“無窮大”的數(shù),最后總會有結(jié)果的。但是,時間是寶貴 的,恰當?shù)脑O(shè)置 3 小時就收斂的結(jié)果,不恰當?shù)脑O(shè)置可能要一個白天加一個黑夜。如果你趕 文章或者趕著畢業(yè),你就知道這意味這什么。 結(jié)構(gòu)優(yōu)化分電子迭代和離子弛豫兩個嵌套的過程。電子迭代自洽的速度, 有四個響很大 的因素:初始結(jié)構(gòu)的合理性,k 點密度,是否考慮自旋和高斯展寬(SIGMA) ;離子弛豫的 收斂速度,有三個很大的影響因素:弛豫方法(IBRION),步長(POTIM)和收斂判據(jù) (EDIFFG). 一般來說,針對理論催化的計算,初始結(jié)構(gòu)都是不太合理的。因此一開始采用很粗糙的 優(yōu)化(EDIFF=0.001,EDIFFG=-0.2) ,很低的 K 點密度(Gamma),不考慮自旋就可以了,這 樣 NSW<60 的設(shè)置就比較好。其它參數(shù)可以默認。經(jīng)過第一輪優(yōu)化,就可以進入下一步細致的優(yōu)化了。就我的經(jīng)驗, EDIFF=1E-4,EDIFFG=-0.05,不考慮自旋,IBRION=2,其它默認,NSW=100;跑完后可以設(shè) 置 IBRION = 1,減小 OPTIM(默認為 0.5,可以設(shè)置 0.2)繼續(xù)優(yōu)化。 優(yōu)化的時候讓它自己悶頭跑是不對的,經(jīng)??纯粗虚g過程,根據(jù)情況調(diào)節(jié)優(yōu)化參數(shù)是可以很好的提高優(yōu)化速度。這個時候,提交兩個以上的任務(wù)排隊是好的方式,一個在調(diào)整的時 候,下一個可以接著運行,不會因為停下當前任務(wù)導(dǎo)致機器空閑。 無論結(jié)構(gòu)優(yōu)化還是靜態(tài)自洽,電子步的收斂也常常讓新手頭痛。如果電子步不能在 40 步內(nèi)收斂,要么是參數(shù)設(shè)置的問題,要么是初始模型太糟糕(糟糕的不是一點點) 。 靜態(tài)自洽過程電子步不收斂一般是參數(shù)設(shè)置有問題。這個時候, 改變迭代算法 (ALGO) , 提高高斯展寬(SIGMA 增加),設(shè)置自洽延遲(NELMDL)都是不錯的方法。對于大體系比 較難收斂的話,可以先調(diào)節(jié) AMIN,BMIX 跑十多步,得到電荷密度和波函數(shù),再重新計算。 實在沒辦法了,可以先放任它跑 40 步,沒有收斂的跡象的話,停下來,得到電荷密度和波 函數(shù)后重新計算。一般都能在40 步內(nèi)收斂。 對于離子弛豫過程,不調(diào)節(jié)關(guān)系也不大。開始兩個離子步可能要跑滿 60 步(默認的), 后面就會越來越快了。 總的說來,一般入門者,多看手冊,多想多理解,多上機實踐總結(jié),比較容易提高到一 個熟練操作工的水平。 如果要想做到“精確打擊” ,做到能在問題始發(fā)的時候就立刻采取有效措施來解決,就 需要回歸基礎(chǔ)理論和計算方法上來了。
?
7、如何用 VASP 計算鐵磁、反鐵磁和順磁
順磁,意味進行 non-spinpolarized 的計算,也就是 ISPIN=1。 鐵磁,意味進行 spin-polarized 的計算,ISPIN=2,而且每個磁性原子的初始磁矩設(shè)置為一樣的值,也就是磁性原子的 MAGMOM 設(shè)置為一樣的值。對非磁性原子也可以設(shè)置成一 樣的非零值(與磁性原子的一樣)或零,最后收斂的結(jié)果,非磁性原子的 local 磁矩很小, 快接近 0,很小的情況,很可能意味著真的是非磁性原子也會被極化而出現(xiàn)很小的 local 磁 矩。 反鐵磁,也意味著要進行 spin-polarized 的計算,ISPIN=2,這是需采用反鐵磁的磁胞來 進行計算, 意味著此時計算所采用的晶胞不再是鐵磁計算時的最小原胞。 比如對鐵晶體的鐵磁狀態(tài),你可以采用 bcc 的原胞來計算,但是在進行反鐵磁的 Fe 計算,這是你需要采用 sc 的結(jié)構(gòu)來計算,計算的晶胞中包括兩個原子,你要設(shè)置一個原子的 MAGMOM 為正的,另一個原子的 MAGMOM 設(shè)置為負,但是它們的絕對值一樣。因此在進行反鐵磁的計算時,
?
應(yīng)該確定好反鐵磁的磁胞,以及磁序,要判斷哪種磁序和磁胞是最可能的反鐵磁狀態(tài),那只能是先做好各種可能的排列組合, 然后分別計算這些可能組合的情況, 最后比較它們的總能, 總能最低的就是可能的磁序。 同樣也可以與它們同鐵磁或順磁的進行比較。 了解到該材料究竟是鐵磁的、還是順磁或反鐵磁的。 亞鐵磁,也意味要進行 spin-polarized 的計算,ISPIN=2,與反鐵磁的計算類似,不同的 是原子正負磁矩的絕對值不是樣大。非共線的磁性,那需采用專門的 non-collinear 的來進行 計算,除了要設(shè)置 ISPIN,MAGMOM 的設(shè)置還需要指定每個原子在 x,y,z 方向上的大小。 這種情況會復(fù)雜一些。舉個例子來說,對于 Mn-Cu(001)c(2×2)這種體系,原胞里面有 2個 Mn 原子,那么你直 接讓兩個 Mn 原子的 MAGMOM 的絕對值一樣,符號相反就可以了,再加上 ISPIN=2。這樣就可以實現(xiàn)進行反鐵磁的計算了
?
8、VASP在計算磁性的時候,oszicar 中得到的磁矩和 outcar 中得到各原子磁矩之和不一致在投稿的是否曾碰到有審稿人質(zhì)疑,對于這個不一致你們一般是怎么解釋?
?
答:OSZICAR 中得到的磁矩是 OUTCAR 中最后一步得到的總磁矩是相等的。總磁矩和各 原子的磁矩(RMT 球內(nèi)的磁矩)之和之差就是間隙區(qū)的磁矩。因為有間隙區(qū)存在,不一致是正 常的。
?
9、磁性計算應(yīng)該比較負責(zé)。你應(yīng)該還使用別的程序計算過磁性,與vasp 結(jié)果比較是否一
致,對磁性計算采用的程序有什么推薦。 ps:由于曾使用 vasp 和 dmol 算過非周期體系磁性,結(jié)構(gòu)對磁性影響非常大,因此使用這兩個程序計算的磁性要一致很麻煩。還不敢確定到底是哪個程序可能不可靠。
?
答:如果算磁性,全電子的結(jié)果更精確,我的一些計算結(jié)果顯示磁性原子對在最近鄰的位置時,PAW 與 FPLAW 給出的能量差不一致,在長程時符合的很好。雖然并沒有改變定性結(jié)論。 感覺 PAW 似乎不能很好地描述較強耦合。 我試圖在找出原因, 主要使用 exciting 和 vasp 做比較。計算磁性推薦使用 FP-LAPW, FP-LMTO, FPLO 很吸引人(不過是商業(yè)的),后者是 O(N)算法。
10、VASP 中過渡態(tài)計算設(shè)置的一點體會
計算過渡態(tài)先要擺正心態(tài),不急于下手。步驟如下:
?
(1)做模型,初態(tài) IS 和終態(tài) FS,分別結(jié)構(gòu)優(yōu)化到基態(tài);
?
(2)線形插入 images: nebmake.pl POSCAR.IS POSCAR.FS N N 為 image 個數(shù)。
?
(3)nebmovie.pl,生成 movie.xyz。用 Xcrysden –xyz movie.xyz 反復(fù)觀看動畫,仔細檢查過 程的合理性。這里要提醒,POSCAR.IS 和 POSCAR.FS 中原子坐標列表的順序必須對應(yīng)。
?
(4) INCAR,選 IOPT。 寫 注意, 最好忘記 vasp 自帶的 NEB, 而全部改用包含 vtstool 的 vasp. IBRION=3,POTIM=0 關(guān)閉 vasp 自帶的 NEB 功能。
?
(5)過渡態(tài)計算第一個離子步最耗時,也最容易出問題,也是模型設(shè)計合理性檢驗的首要環(huán)節(jié)。所以可以選小一些的 ENCUT,可以不用考慮自旋(ISPIN=1),也不用考慮 DFT+U。 而且用最快最粗糙的算法(IOPT=3,其他默認)。
?
(6)帶 vtstool 的 vasp-ClNEB(NEB)過渡態(tài)計算 ICHAIN=0 作為入口,這個也是默認的。 LCLIMB=TRUE 也是默認的。如果不要 climb image,可以設(shè)置 LCLIMB = False.
?
(7) 收斂判據(jù) EDIFFG<0。 過渡態(tài)計算要以力為收斂判據(jù), 而不是能量。 一般EDIFFG=-0.05 就可以接受, -0.02 或者-0.01更好。 但是作為開始的過渡態(tài)計算, 可以設(shè)置很寬的收斂條件, 如 EDIFFG=-1.
?
(8)初步過渡態(tài)收斂后,修改 INCAR 中的優(yōu)化器(IOPT),并修改相應(yīng)參數(shù)(參考 vtstool 官方論壇) ,EDIFFG 改?。ㄈ?0.05) ,然后運行 vfin.pl,這個腳本自動幫你準備在原來的基 礎(chǔ)上繼續(xù)運行新的過渡態(tài)計算(完成 cp CONTCAR POSCAR, 保留電荷密度和波函數(shù)的操 作) 。
?
(9)過渡態(tài)如何驗算虛頻呢?比如一個 6 層原子層的 slab 上表面吸附小分子。 slab 下部 3 層原子是固定的。 驗算虛頻的時 候,是不是還是固定下面三層原子,然后按照一般頻率計算方法來算虛頻?這樣的話,可以移動的原子數(shù)在 20 數(shù)量級上,考慮三個自由度,及其組合,就有很多很多可能了。請問該 怎么設(shè)置這樣的過渡態(tài)虛頻計算呢?
原創(chuàng)文章,作者:菜菜歐尼醬,如若轉(zhuǎn)載,請注明來源華算科技,注明出處:http://www.xiubac.cn/index.php/2023/12/01/b4b76b2bc6/