VASP磁性计算总结篇 联系客服

发布时间 : 星期五 文章VASP磁性计算总结篇更新完毕开始阅读46badfa15fbfc77da269b1bf

以下是从VASP在线说明书整理出来的非线性磁矩和自旋轨道耦合的计算说明。

非线性磁矩计算:

1)计算非磁性基态产生WAVECAR和CHGCAR文件。 2)然后INCAR中加上

ISPIN=2

ICHARG=1 或 11 !读取WAVECAR和CHGCAR文件 LNONCOLLINEAR=.TRUE.

MAGMOM=

注意:①对于非线性磁矩计算,要在x, y 和 z方向分别加上磁矩,如 MAGMOM = 1 0 0 0 1 0 !表示第一个原子在x方向,第二个原子的y方向有磁矩

②在任何时候,指定MAGMOM值的前提是ICHARG=2(没有WAVECAR和CHGCAR文件)或者ICHARG=1 或11(有WAVECAR和CHGCAR文件),但是前一步的计算是非磁性的(ISPIN=1)。

磁各向异性能(自旋轨道耦合)计算:

注意: LSORBIT=.TRUE. 会自动打开LNONCOLLINEAR= .TRUE.选项,且自旋轨道计算只适用于PAW赝势,不适于超软赝势。

自旋轨道耦合效应就意味着能量对磁矩的方向存在依赖,即存在磁各向异性能(MAE),所以要定义初始磁矩的方向。如下:

LSORBIT = .TRUE.

SAXIS = s_x s_y s_z (quantisation axis for spin)

默认值: SAXIS=(0+,0,1),即x方向有正的无限小的磁矩,Z方向有磁矩。

要使初始的磁矩方向平行于选定方向,有以下两种方法: MAGMOM = x y z ! local magnetic moment in x,y,z SAXIS = 0 0 1 ! quantisation axis parallel to z or

MAGMOM = 0 0 total_magnetic_moment ! local magnetic moment parallel to SAXIS (注意每个原子分别指定)

SAXIS = x y z ! quantisation axis parallel to vector (x,y,z),如 0 0 1 两种方法原则上应该是等价的,但是实际上第二种方法更精确。第二种方法允许读取已存在的WAVECAR(来自线性或者非磁性计算)文件,并且继续另一个自旋方向的计算(改变SAXIS 值而MAGMOM保持不变)。当读取一个非线性磁矩计算的WAVECAR时,自旋方向会指定平行于SAXIS。

计算磁各向异性的推荐步骤是:

1)首先计算线性磁矩以产生WAVECAR 和 CHGCAR文件(注意加入

LMAXMIX)。

2)然后INCAR中加入: LSORBIT = .TRUE.

ICHARG = 11 ! non selfconsistent run, read CHGCAR

!或 ICHARG ==1 优化到易磁化轴,但此时应提高EDIFF的精度

LMAXMIX = 4 ! for d elements increase LMAXMIX to 4, f: LMAXMIX = 6 ! you need to set LMAXMIX already in the collinear calculation SAXIS = x y z ! direction of the magnetic field 如 0 0 1

NBANDS = 2 * number of bands of collinear run ! grep NBANDS OUTCAR ISYM=0 !switch off symmetry (ISYM=0) when spin orbit coupling is selected GGA_COMPAT=.FALSE. ! it improves the numerical precision of GGA for non collinear calculations

LORBMOM=.TRUE. !计算轨道磁矩

继续计算,VASP会读取WAVECAR 和 CHGCAR将自旋量子化方向(磁场方向)平行于SAXIS方向。

最后可以比较各个方向磁矩时能量的不同。

注意: 第二步使用自洽计算(ICHARG=1)原则上也是可以的,但是初始平行于SAXIS的磁场发生旋转,直到达到基态,如平行于易磁化轴,但这个过程会很慢且能量变化很小,而且如果收敛标准不是很严格的话,自洽计算会在未达到基态就停止。

注意: VASP的输入输出的磁矩和类自旋量都会按照这个SAXIS方向,包括INCAR中的

MAGMOM行,OUTCAR和PROCAR文件中的总磁矩和局域磁矩,WAVECAR中的类自旋轨道和CHGCAR中的磁性密度。

MAGMOM-tag:

http://cms.mpi.univie.ac.at/vasp/vasp/MAGMOM_tag.html#incar-magmom LNONCOLLINEAR:http://cms.mpi.univie.ac.at/vasp/vasp/LNONCOLLINEAR_tag

.html

LSORBIT-tag http://cms.mpi.univie.ac.at/vasp/vasp/LSORBIT_tag.html

问题: ①第一步线性计算得到WAVECAR 和 CHGCAR文件,必须是静态计算的WAVECAR 和 CHGCAR文件吗? 动态优化的可不可以?静态计算需要使用NUPDOWN 锁定磁矩吗?

②进行非线性磁矩或自旋轨道耦合计算的时候,结构需不需要重新优化?

我现在的做法是: 先加入LMAXMIX = 4结构优化,然后仍然使用LMAXMIX = 4

静态计算(ICHARG=2,LWAVE=.TRUE.,LCHARG=.TRUE.),然后进行高收敛标准的静态的soc自洽计算来考虑soc的影响,也不知对不对。

spin-orbit计算求助!

最近用spin-orbit计算体系的磁性总是出错,现将计算过程中的一些问题和疑惑贴出来,求大虾解答:

1. 用spin-orbit与spin-polarizedINCAR文件的不同有哪些?除了需要加 LSORBIT=.TRUE. SAXIS =X Y Z

NBANDS变为共线的两倍,MAGMON也变为xyz方向之外 需不需要加

GGA_COMPAT=.FALSE. ISYM =0

呢?(这是在VASP手册上看到的)

2.自旋量子轴SAXIS =X Y Z 应该怎么设置啊?应该与体系晶格结构有关,轴的设置应该根据实空间晶格设置呢,还是根据倒空间晶格设置呢,求举例!

3.根据VASP手册上提供的方法,计算spin-orbit之前应该先计算共线情况下的WAVECAR和CHGCAR,然后再开始spin-orbit的计算。

但是我在计算的时候导入之前计算的WAVECAR和CHGCAR,计算总会出错,不知道是什么原因?是不是应该计算非共线情况下的WAVECAR和CHGCAR,然后再计算spin-orbit呢? 4.计算spin-orbit需不需要使用超胞呢?(掺杂或者不掺杂的情况下) 使用超胞的计算结果该怎么分析呢?

5.计算spin-orbit对赝势(譬如GGA-PBE等)有没有要求,对算法(譬如ALGO=Normal、ALGO=Damped等),对计算精度等有没有要求?

回答

1. ISYM =0在打开SO时要加,用GGA交换泛函时需要用GGA_COMPAT=.FALSE.改善精

度。

2. SAXIS和MAGMOM有两种常用设置,手册上有介绍,默认是0 0 1方向,是相对实空间笛卡尔坐标系的。一种是SAXIX为0 0 1方向,此时MAGMOM为任意方向,另外一种是MAGMOM均为 0 0 z或0 0 -z方向,SAXIX为任意方向,第二种允许读取先前存在的共线或非共线电荷密度和波函数,且精度更高。

3. 导入之前计算的WAVECAR和CHGCAR出错原因是KPOINTS在SO打开时对称性发生变化。你可以用SO生成的IBZKPT,然后拷贝为KPOINTS,重新计算WAVECAR和CHGCAR,然后再读取就可以了。 4. 不需要用超胞!

5. SO只支持PAW赝势,对精度要求高,能量精度EDIFF一般为10^-7eV.

2)SOC版本:

cp makefile.mpi makefile.soc 在makefile.soc修改

CPP =$(CPP_) -DMPI -DHOST=\\\ -DCACHE_SIZE=5000 -DPGF90 -Davoidalloc -DNGZhalf \\ -DMPI_BLOCK=262144 -Duse_collective -DscaLAPACK \\ -DRPROMU_DGEMV -DRACCMU_DGEMV 中去掉-DNGZhalf

然后 make -f makefile.soc 得到 vasp ,并 mv vasp vasp.mpi.soc.neb

MAE(磁各向异性能)-非共线磁矩计算 SYSTEM = Fe/Gra LREAL= Auto ALGO=Fast IALGO=48 ISYM = 0 ISTART = 1 ICHARG = 11

ENCUT = 500 NPAR=2

ISMEAR = 0 ; SIGMA = 0.2 GGA=91; VOSKOWN=1 GGA_COMPAT=.FALSE. ISPIN=2

#MAGMOM=1*5 2*0 1*4 LORBIT = 11

LNONCOLLINEAR=.TRUE. LSORBIT=.TRUE LORBMOM=.TRUE SAXIS= 0 0 1

MAGMOM=0 0 0 0 0 0 0 0 4 LMAXMIX = 4 IBRION =2

LWAVE=.F; LCHARG=.F

EDIFF = 1E-5 ; EDIFFG = -0.001