vasp的计算过程及遇到的问题3
(2014-07-01 16:25:03)
标签:
股票 |
9、在单机上计算态密度好像不会出问题。我先谈一下我的看法:
第一个WARNING,可以在INCAR文件中设置NGX,NGY和NGZ的值,设置的值要足够大,就可以消除这个warning。设置多大合适呢?这就要用到编译vasp时,同时也编译得到的make param小程序,make param可以帮助你预先检查你设置的文件是否正确,以及某些参数的值是否合适。要得到合适的NGX,NGY,NGZ以及NBANDS,先在INCAR中不设置这些参数的值,然后运行makeparam >param.inc,其中param.inc是包含了输出结果的文件,在param.inc文件中你可以看到这些参数的值,以及计算大概需要多少的内存。然后把param.inc文件中的NGX,NGY,NGZ和NBANDS的值拷贝到INCAR文件中。
第二个是计算态密度时,我个人的做法是,一般把KPOINTS文件中的k点增多,然后把INCAR文件中的ISTART=1,ICHARG=11,当然还设置RWIGS。最后把静止自洽计算得到的CHG和CHGCAR文件拷贝到当前目录下。从我在单机上的计算来看,没有WAVECAR文件也是可以计算态密度的。我想你出现的这个问题,可能是你cluster上计算时,每个节点上的CHGCAR和WAVECAR文件不一致造成的。
第三个是当k点数增加了,会出现一个WARING,要把此WARNING消失掉,在INCAR文件中设置NELMDL,它的值小于等于默认值(默认值好像是-5,你可以设为-6)。没有cluster的系统用来计算,也没有这样的经历,我仅从在单机上的计算经验来谈,有错还请包涵
10、如何用VASP计算铁磁、反铁磁和顺磁
顺磁,意味进行non-spin polarized的计算,也就是ISPIN=1。
铁磁,意味进行spin-polarized的计算,ISPIN=2,而且每个磁性原子的初始磁矩设置为一样的值,也就是磁性原子的MAGMOM设置为一样的值。对非磁性原子也可以设置成一样的非零值(与磁性原子的一样)或零,最后收敛的结果,非磁性原子的local磁矩很小,快接近0,很小的情况,很可能意味着真的是非磁性原子也会被极化而出现很小的local磁矩。
反铁磁,也意味着要进行spin-polarized的计算,ISPIN=2,这是需采用反铁磁的磁胞来进行计算,意味着此时计算所采用的晶胞不再是铁磁计算时的最小原胞。比如对铁晶体的铁磁状态,你可以采用bcc的原胞来计算,但是在进行反铁磁的Fe计算,这是你需要采用sc的结构来计算,计算的晶胞中包括两个原子,你要设置一个原子的MAGMOM为正的,另一个原子的MAGMOM设置为负,但是它们的绝对值一样。因此在进行反铁磁的计算时,应该确定好反铁磁的磁胞,以及磁序,要判断哪种磁序和磁胞是最可能的反铁磁状态,那只能是先做好各种可能的排列组合,然后分别计算这些可能组合的情况,最后比较它们的总能,总能最低的就是可能的磁序。同样也可以与它们同铁磁或顺磁的进行比较。了解到该材料究竟是铁磁的、还是顺磁或反铁磁的。
亚铁磁,也意味要进行spin-polarized的计算,ISPIN=2,与反铁磁的计算类似,不同的是原子正负磁矩的绝对值不是样大。非共线的磁性,那需采用专门的non-collinear的来进行计算,除了要设置ISPIN,MAGMOM的设置还需要指定每个原子在x,y,z方向上的大小。这种情况会复杂一些。
举个例子来说,对于Mn-Cu(001)c(2x2)这种体系,原胞里面有2个Mn原子,那么你直接让两个Mn原子的MAGMOM的绝对值一样,符号相反就可以了,再加上ISPIN=2。这样就可以实现进行反铁磁的计算了
11、vasp在计算磁性的时候,oszicar中得到的磁矩和outcar中得到各原子磁矩之和不一致在投稿的是否曾碰到有审稿人质疑,对于这个不一致你们一般是怎么解释的了?
答:OSZICAR中得到的磁矩是OUTCAR中最后一步得到的总磁矩是相等的。总磁矩和各原子的磁矩(RMT球内的磁矩)之和之差就是间隙区的磁矩。因为有间隙区存在,不一致是正常的。
12、磁性计算应该比较负责。你应该还使用别的程序计算过磁性,与vasp结果比较是否一致,对磁性计算采用的程序有什么推荐。
ps:由于曾使用vasp和dmol算过非周期体系磁性,结构对磁性影响非常大,因此使用这两个程序计算的磁性要一致很麻烦。还不敢确定到底是哪个程序可能不可靠。
答:如果算磁性,全电子的结果更精确,我的一些计算结果显示磁性原子对在最近邻的位置时,PAW与FPLAW给出的能量差不一致,在长程时符合的很好。虽然并没有改变定性结论。感觉PAW似乎不能很好地描述较强耦合。我试图在找出原因,主要使用exciting和vasp做比较。计算磁性推荐使用FP-LAPW, FP-LMTO, FPLO很吸引人(不过是商业的),后者是O(N)算法。
13、vasp
POTCAR将要告诉vasp计算的系统中所包含的各种元素的赝势pesudopotential,vasp本身就带有比较完善的赝势包,我们需要做的就是选择我们需要具体哪种赝势,然后把相应的文件拷贝形成我们具体的POTCAR文件。我们以GaAs为例。
1)赝势的选择:
vasp的赝势文件放在目录~/vasp/potentials
赝势按产生方法可以分为PP
(standard pesudopotential,其中大部分是USPP,
ultrasoft pesudopotential)
以上各个目录对应起来分别是pot ==> PP, LDA ; pot_GGA ==> PP, GGA ; potpaw ==> PAW, LDA ; potpaw_GGA ==> PAW, GGA, PW91 ; potpaw_PBE ==> PAW , GGA, PBE。选择某个目录进去,我们还会发现对应每种元素往往还会有多种赝势存在。这是因为根据对截断能量的选取不同还可以分为Ga,Ga_s,Ga_h,或者根据半芯态的不同还可以分为Ga,Ga_sv,Ga_pv的不同。
一般推荐选取PAW_PBE。其中各个元素具体推荐哪种形式的赝势可以参考vasp workshop中有关赝势部分的ppt。当然自己能测试之后在选择是最好不过的了,以后再聊。
2).POTCAR的建立:
选好哪一种赝势之后,进入对应的目录,你会看到里边有这么几个文件,POTCAR.Z
PSCTR.Z V_RHFIN.Z WS_FTP.LOG
3).POTCAR里的信息:
如果你想看POTCAR长什么样,可以用vim
POTCAR
据说B3LYP的赝势计算比较准,我在MS上面测试过,好像DOS和能带图的计算确实比较准。不过不知道vasp有没有类似的赝势包。
hybrid
functional的计算,并不需要特定的hybrid
functional
谢谢老师的解答。那具体操作是不是像网上写的那样,使用GGA的赝势,设置GGA = B3,然后更改POTCAR里面的LEXCH =B3就行了。我试过了,可以跑,不过结果没做详细的分析。