VASP使用經(jīng)驗(yàn)總結(jié)- from Rosen
? 這是在外網(wǎng)上看到Rosen使用VASP的一些經(jīng)驗(yàn),覺得很有用,仔細(xì)翻譯了一下分享給大家。
? 結(jié)構(gòu)優(yōu)化:
?? 1. 不要在遠(yuǎn)離局部最小值的結(jié)構(gòu)上使用超高精度的設(shè)置,這樣會(huì)浪費(fèi)你的時(shí)間。先用 "寬松 "的設(shè)置進(jìn)行初始優(yōu)化(例如,k點(diǎn)網(wǎng)格只用gamma-point,弛豫原子位置時(shí),用400eV的截?cái)嗄埽?。然后用所需的參?shù)進(jìn)行細(xì)優(yōu)化。
? ?2.?當(dāng)涉及到改變晶胞形狀或體積的幾何優(yōu)化時(shí),一定要確保ENCUT>1.3*ENMAX(ENMAX這個(gè)值可以在POTCAR里找到)以防止Pulary應(yīng)力。對(duì)于含有碳的結(jié)構(gòu),通常會(huì)用到520 eV的最小截?cái)嗄堋?/p>
? ??3.幾何優(yōu)化的第一步通常會(huì)有最高的SCF迭代次數(shù)。如果第一步?jīng)]有在NELM的限制范圍內(nèi)進(jìn)行電子收斂,那也沒關(guān)系。事實(shí)上,盡量讓第一步在NELMNELM限制范圍內(nèi)收斂,否則會(huì)運(yùn)行數(shù)百次的SCF迭代,這樣會(huì)浪費(fèi)很多時(shí)間。
? ? 4.根據(jù)經(jīng)驗(yàn),通常將EDIFFG設(shè)置為0.05 eV/?或更低,用于優(yōu)化。我個(gè)人推薦0.03 eV/?或更低。對(duì)于大型容易形變的材料,任何大于0.03 eV/?的值都可能太高。記住,在VASP中,如果你想使用一個(gè)基于最大凈力而不是總能量變化的收斂閾值,EDIFFG必須是負(fù)值。
? ? 5.當(dāng)對(duì)原子位置和細(xì)胞形狀/體積進(jìn)行全面優(yōu)化時(shí),最好分階段進(jìn)行。通常明智的做法是先進(jìn)行原子位置的弛豫(ISIF=2),然后再進(jìn)行體積和形狀的優(yōu)化(ISIF=3)。這將會(huì)大大減少不收斂的情況。(PS:用ISIF=3先優(yōu)化往往會(huì)出現(xiàn)晶胞弛豫不到想要的參數(shù)范圍內(nèi)或者出現(xiàn)各種松散的結(jié)構(gòu),up主親測(cè))。
? ? 6.如果你的材料只能建立真空層模型作為模擬單元(例如表面模型),千萬(wàn)不要用ISIF=3來(lái)優(yōu)化單元體積,因?yàn)樗粫?huì)減少/消除真空。你需要手動(dòng)調(diào)節(jié)晶格參數(shù),通過(guò)這種方式找到全局能量最小值。
? ? 7.在進(jìn)行優(yōu)化時(shí),除非你確定需要約束對(duì)稱性,否則你最好設(shè)置ISYM=0。盡管這樣做增加計(jì)算成本,但它允許體系達(dá)到局部最小值,不這樣做就無(wú)法獲得。此外,這樣設(shè)置的話,你不必?fù)?dān)心與SYMPREC有關(guān)的錯(cuò)誤。盡管ISYM=0,有時(shí)還是會(huì)出現(xiàn)一些對(duì)稱性問(wèn)題。要解決這些問(wèn)題,可以設(shè)置SYMPREC=1.0e-8。
? ? 8.如果你想停止一項(xiàng)工作,但希望它仍然輸出任何WAVECAR或CHGCAR文件,在工作目錄中創(chuàng)建一個(gè)名為STOPCAR的文件,并寫入LSTOP=.TRUE。(這將導(dǎo)致工作在下一個(gè)離子步中停止,所有重啟文件將被寫入)
? 優(yōu)化算法的選擇:
? ? 1.在選擇尋找局部最小值的優(yōu)化算法時(shí),我一般建議從共軛梯度(CG)算法(IBRION=2)開始,因?yàn)樗浅7€(wěn)健,你不必?fù)?dān)心調(diào)整POTIM的問(wèn)題。
? ? 2.在具有高自由度的大型易變形材料中,CG優(yōu)化算法(IBRION=2)一旦相對(duì)接近局部最小值,常常會(huì)出現(xiàn)括號(hào)中的致命錯(cuò)誤(search for ZBRENT: fatal error in bracketing in the standard output file)。出現(xiàn)這種情況是因?yàn)閯?shì)能表面非常平坦,而VASP中的CG算法是基于能量差計(jì)算的。解決這個(gè)問(wèn)題的一個(gè)辦法是將CONTCAR復(fù)制成POSCAR,并將EDIFF設(shè)置到1e-6,但更可靠的辦法是使用基于力的優(yōu)化器。其中,我推薦使用VTST的FIRE實(shí)現(xiàn)(IBRION=3,IOPT=7)。我發(fā)現(xiàn)FIRE通常比QN(IBRION=1)方法更穩(wěn)健。
? ? PS:看到這里,大家可以看一下我的視頻,Vasp結(jié)構(gòu)優(yōu)化小技巧之三步曲,結(jié)合這個(gè)帖子,你或許有新的想法!!
? ? 3.如果起始結(jié)構(gòu)的某些原子受極大的力,至少在最初的幾步,請(qǐng)使用適合的優(yōu)化器。我強(qiáng)烈推薦使用基于力的優(yōu)化算法和穩(wěn)健的線性搜索算法。對(duì)于那些力大到結(jié)構(gòu)在幾次迭代中就 "爆炸 "的情況,我建議使用ASE的BFGSLineSearch算法,直到max|F| < 10 eV/A左右。然后繼續(xù)使用你喜歡的優(yōu)化器。
? 4.一般來(lái)說(shuō),對(duì)于NEB和CI-NEB的計(jì)算,VTST中的L-BFGS算法(IOPT=1)是最快的。對(duì)于dimer方法,我推薦使用VTST中基于力的CG方法(IOPT=2)。然而,如果你在這兩種情況下遇到困難,我建議切換到FIRE算法(IOPT=7)的默認(rèn)設(shè)置。它的速度有點(diǎn)慢,但在不容易收斂的情況下特別有用。
電子能量收斂
? ? 1.對(duì)于絕緣材料,通過(guò)使用ALGO=All,可以大大加快SCF收斂速度。這還有一個(gè)好處,就是你不必?fù)?dān)心任何混合標(biāo)簽。在使用M06-L元GGA函數(shù)時(shí),無(wú)論系統(tǒng)類型如何,也推薦使用這種算法。
? ? 2.我建議對(duì)大多數(shù)作業(yè)設(shè)置LWAVE=.TRUE.,除非你使用基于ASE的優(yōu)化器或連續(xù)運(yùn)行許多短作業(yè)。有一個(gè)很大的內(nèi)存成本,但是如果需要的話,WAVECAR可以作為繼續(xù)計(jì)算的一個(gè)很好的起始文件,并且在你完成計(jì)算后可以刪除。我不推薦設(shè)置LCHARG=.TRUE.來(lái)進(jìn)行優(yōu)化,因?yàn)槌跏茧姾擅芏瓤梢訵AVECAR中計(jì)算出來(lái)。
? ? 3.采用實(shí)空間投影算法(如LREAL=Auto)獲得最終能量時(shí)要小心,即使是大的體系。這可能會(huì)在一定程度上影響能量(甚至是能量差異),這取決于你想研究的內(nèi)容。如果VASP在OUTCAR文件中告訴你體系很大,推薦使用實(shí)空間投影算法以節(jié)省時(shí)間,那么我強(qiáng)烈建議用LREAL=Auto進(jìn)行計(jì)算,然后用LREAL=.False進(jìn)行最終優(yōu)化。使用互換空間投影的優(yōu)化一般只需要額外的1-5步,所以你仍然會(huì)得到使用實(shí)空間投影算法的速度。
? ? 4.雖然VASP手冊(cè)建議不要將最大的SCF迭代次數(shù)(NELM)設(shè)置為60次以上,但有許多材料(如MOF)在最初的幾個(gè)步驟中需要一個(gè)更高的數(shù)值。在研究非常大的材料時(shí),我一般設(shè)置NELM=150。
? ? 5.對(duì)于那些有電荷震蕩或SCF難以收斂問(wèn)題的材料,我建議將NELMIN設(shè)置為4-6,以便獲得準(zhǔn)確的能量和力。
? ? 6.如果你沒有明確地設(shè)置ISTART或ICHARG,VASP將檢測(cè)是否存在WAVECAR,如果它存在的話,就使用它作為初始波函數(shù)和電荷密度。這可以說(shuō)比在INCAR中明確設(shè)置ISTART要好,因?yàn)樗梢苑乐筕ASP在WAVECAR不存在的情況下崩潰(例如:前一個(gè)作業(yè)設(shè)置ISTART=1卻沒有波函數(shù)崩潰了)。
? ? 7.對(duì)于絕緣材料(或有未知帶隙的材料),我建議使用高斯方法(ISMEAR=0),盡管它們對(duì)導(dǎo)電材料是更好的選擇,但它對(duì)導(dǎo)體和絕緣體都適用。
? ? 8.始終檢查以確保從有限溫度近似法推斷回T = 0 K后OUTCAR文件中所列的能量是接近虛構(gòu)自由能的。
? ? 9.一般來(lái)說(shuō),設(shè)置PREC=Accurate是一個(gè)好的做法。這為積分網(wǎng)格(NGX、NGY、NGZ)提供了合理的估算。經(jīng)常有人說(shuō),meta-GGA函數(shù)需要緊密的積分網(wǎng)格來(lái)實(shí)現(xiàn)收斂。我發(fā)現(xiàn),即使對(duì)于這些麻煩的函數(shù),PREC=Accurate也足夠了。
? ?10.如果你要寫出或讀入電荷密度,如果你有d區(qū)元素,設(shè)置LMAXMIX=4,如果你有f區(qū)元素,設(shè)置LMAXMIX=6。如果你使用ICHARG=1,其影響可以忽略不計(jì),但如果你用ICHARG=11運(yùn)行非自洽計(jì)算,省略LMAXMIX將導(dǎo)致總能量和計(jì)算的性質(zhì)不同。這對(duì)于自旋極化系統(tǒng)影響很大,因?yàn)榇啪貨]有被完全再現(xiàn)。
自旋極化
? ? 1.當(dāng)研究有磁矩的系統(tǒng)時(shí),設(shè)置LORBIT=11,這樣你就可以查看每個(gè)原子的聚合磁矩了。
? ? 2.如果你使用以前WAVECAR進(jìn)行計(jì)算,只要ISPIN=2,你就不需要在INCAR文件中設(shè)置MAGMOMS(你可以設(shè)置,但VASP會(huì)忽略它們)。
? ? 3.如果你不確定該如何設(shè)置金屬原子的磁矩,可以考慮將MAGMOM值設(shè)置為預(yù)期的未配對(duì)電子數(shù)。如果這也是完全未知的,對(duì)d族元素設(shè)置5的值,對(duì)f族元素設(shè)置7的值,通??梢宰鳛槌醪?。如果采取這種方法,明智的做法是使用已經(jīng)收斂的結(jié)構(gòu)來(lái)測(cè)試其他自旋極化。我還會(huì)測(cè)試初始MAGMOM為0.1,看看這是否會(huì)收斂到一個(gè)沒有自旋的系統(tǒng),或者回到與高自旋初始化相同的磁矩,或者完全是別的什么。
過(guò)渡態(tài)
? ? 1.如果在重新啟動(dòng)dimer計(jì)算時(shí),你發(fā)現(xiàn)扭矩和角度比他們上次結(jié)束的時(shí)要高,請(qǐng)確保你使用的是VTST 3.2或更新的VTST版本。
? ? 2.VTST dimmins.pl腳本的使用說(shuō)明是不正確的。它應(yīng)該是 dimmins.pl POSCAR MODECAR displacement,其中 POSCAR 和 MODECAR 是執(zhí)行 vfin.pl 所產(chǎn)生的文件。
? ? 3.VTST neb2dim.pl腳本的使用說(shuō)明并不清楚。它應(yīng)該說(shuō)明,你必須先運(yùn)行vfin.pl,將exts.dat文件復(fù)制到父目錄(新的POSCAR文件被寫入該目錄),然后從該父目錄運(yùn)行neb2dim.pl。
自旋/電荷密度
? ? 1.在幾何優(yōu)化過(guò)程中,不要生成AECCAR文件(例如,用于Bader分析或DDEC電荷)。VASP為輸入的幾何體寫AECCAR0文件,但為收斂的幾何體寫AECCAR2文件,所以它們是不兼容的。經(jīng)常是做一個(gè)單獨(dú)的單點(diǎn)能量計(jì)算(nsw=0)并設(shè)置LAECHG=.True。
贗勢(shì)方法?
? ? 1.通??紤]使用VASP推薦的PAW贗勢(shì)。注意Li_sv在5.4版本的PAW_PBE贗勢(shì)中的ENMAX為499 eV,但是其他贗勢(shì)的ENMAX小于400 eV。
? ? 2.現(xiàn)在ASE有個(gè)選項(xiàng)可以自動(dòng)選擇VASP推薦的默認(rèn)贗勢(shì)。只需設(shè)置setups='recommended'。
? ? 3.對(duì)于DFT+U、混合函數(shù)和meta-GGA計(jì)算,建議設(shè)置LASPH=.TRUE。如果你使用LASPH=.TRUE.標(biāo)志,請(qǐng)確保你對(duì)氣相物種也包含它!它應(yīng)該被看作是你的化學(xué)模型的一部分。
? ? 4.一個(gè)微妙的問(wèn)題是,由于對(duì)PAW球體內(nèi)部的梯度修正的非球體貢獻(xiàn)將隨著ENCUT的變化而變化,如果LASPH=.TRUE,將很難收斂到一個(gè)與平面波截?cái)嗄芟嚓P(guān)的絕對(duì)能量。相反,我們應(yīng)該關(guān)注相對(duì)能量的收斂,或者用LASPH=.FALSE做一個(gè)收斂測(cè)試。
并行性能
? ? 1.經(jīng)驗(yàn)法則是,你應(yīng)該使用的處理器數(shù)量與系統(tǒng)中的原子數(shù)量有合理的比例關(guān)系。這對(duì)于有很多富電子元素的金屬體系來(lái)說(shuō)是相當(dāng)有效的,但是對(duì)于有很多C和H原子的有機(jī)或有機(jī)金屬體系來(lái)說(shuō),可能會(huì)有一點(diǎn)高估。
? ? 2.盡可能使用只有g(shù)amma版的VASP執(zhí)行程序,因?yàn)樗倪\(yùn)行速度比標(biāo)準(zhǔn)版本快1.5倍。(修改標(biāo)準(zhǔn)版本的提交腳本或者提交命令的std為gam)。
? ? 3.我建議使用NCORE來(lái)代替NPAR,因?yàn)樗梢愿鶕?jù)節(jié)點(diǎn)的數(shù)量自動(dòng)調(diào)整。NCORE的最佳值根據(jù)計(jì)算環(huán)境的不同而強(qiáng)烈變化。在許多計(jì)算集群中,一個(gè)很好的初步猜測(cè)是將NCORE設(shè)置為一個(gè)給定節(jié)點(diǎn)的處理器數(shù)量。無(wú)論如何,要確保每個(gè)節(jié)點(diǎn)的處理器數(shù)量能被NCORE除以。
ASE
? ? 1.只要有可能,就不要在 VASP 計(jì)算中使用 ASE 優(yōu)化器(或任何外部?jī)?yōu)化器)。如果有必要,考慮使用 VaspInteractive 計(jì)算器,而不是 Vasp 計(jì)算器,因?yàn)檫@將減少與每一個(gè)離子步驟啟動(dòng)和停止 VASP 相關(guān)的 CPU 時(shí)間。然而,即使使用 VaspInteractive 計(jì)算器代替 Vasp 計(jì)算器,VASP 與 ASE 優(yōu)化器一起運(yùn)行時(shí),一般也需要比 VASP 內(nèi)部或 VTST 優(yōu)化器更多的電子步。這是因?yàn)閂ASP在其混合器歷史中保留了以前離子步的內(nèi)部歷史,而且VASP將波函數(shù)和電荷密度從以前的步驟外推到新的位置。還有與每一個(gè)離子步讀/寫任何重啟文件有關(guān)的I/O開銷。
2.上述情況對(duì)振動(dòng)頻率計(jì)算也是如此。也就是說(shuō),有時(shí)使用ASE的振動(dòng)模塊可能是值得的,即使有額外的CPU開銷。ASE生成的振動(dòng)可以很容易地使用ASE的圖形用戶界面進(jìn)行可視化,而VASP生成的振動(dòng)則更難進(jìn)行可視化。ASE振動(dòng)模塊還為每個(gè)位移保存了重啟文件(.pckl文件),因此,如果作業(yè)崩潰或超過(guò)了指定的時(shí)間,很容易在停止的地方繼續(xù)計(jì)算。
? ? 最后,想說(shuō)的是這篇VASP英文經(jīng)驗(yàn)帖子是在學(xué)術(shù)之友公眾號(hào)上看到的,有疑問(wèn)的地方可以在評(píng)論區(qū)評(píng)論或者查看原文。https://mp.weixin.qq.com/s?__biz=MzI2OTQ4OTExOA==&mid=2247495283&idx=1&sn=c999a989b9eb5933f27254f74e258a21&chksm=eadd28c2ddaaa1d43a637f5384edde5b46897c03062e7b8b7d672e325822c93878b78ebc270b&mpshare=1&scene=23&srcid=03228KVxgvmcNZ0ndPIHGKJe&sharer_sharetime=1647924378073&sharer_shareid=ed489736885388b33759d2f6ba012118#rd
? ? 在翻譯的過(guò)程中還加入了自己的一些想法,同時(shí),翻譯不易,希望大家點(diǎn)贊投幣,一鍵三連,您的支持是我更新的源源動(dòng)力!!