本文摘要(由AI生成):
本文主要介绍了非线性磁矩计算和磁各向异性能(自旋轨道耦合)计算的方法。非线性磁矩计算需要先计算非磁性基态产生WA.VECAR和CHGCAR.文件,然后在INCAR中加入ISPIN=2、ICHARG=1或11、LNONCOLLINEAR=.TRUE.、MAGMOM=等参数。磁各向异性能计算需要加入LSORBIT=.TRUE.参数,并定义初始磁矩的方向。计算磁各向异性的推荐步骤是先计算线性磁矩以产生WA.VECAR和CHGCAR.文件,然后在INCAR中加入LSORBIT=.TRUE.、ICHARG=11或ICHARG=1、LMAXMIX=4、SAXIS=x y z、NBANDS=2*number of bands of collinear run、ISYM=0、GGA_COMPAT=.FALSE.等参数。
1)计算非磁性基态产生WA.VECAR和CHGCAR.文件。
2)然后INCAR中加上
ISPIN=2
ICHARG=1 或 11 !读取WA.VECAR和CHGCAR.文件
LNONCOLLINEAR=.TRUE.
MAGMOM=
注意:①对于非线性磁矩计算,要在x, y 和 z方向分别加上磁矩,如
MAGMOM = 1 0 0 0 1 0 !表示第一个原子在x方向,第二个原子的y方向有磁矩
②在任何时候,指定MAGMOM值的前提是ICHARG=2(没有WA.VECAR和CHGCAR.文件)或者ICHARG=1 或11(有WA.VECAR和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
两种方法原则上应该是等价的,但是实际上第二种方法更精确。第二种方法允许读取已存在的WA.VECAR(来自线性或者非磁性计算)文件,并且继续另一个自旋方向的计算(改变SAXIS 值而MAGMOM保持不变)。当读取一个非线性磁矩计算的WA.VECAR时,自旋方向会指定平行于SAXIS。
1)首先计算线性磁矩以产生WA.VECAR 和 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会读取WA.VECAR 和 CHGCAR将自旋量子化方向(磁场方向)平行于SAXIS方向。
最后可以比较各个方向磁矩时能量的不同。
注意: 第二步使用自洽计算(ICHARG=1)原则上也是可以的,但是初始平行于SAXIS的磁场发生旋转,直到达到基态,如平行于易磁化轴,但这个过程会很慢且能量变化很小,而且如果收敛标准不是很严格的话,自洽计算会在未达到基态就停止。
注意: VASP的输入输出的磁矩和类自旋量都会按照这个SAXIS方向,包括INCAR中的
MAGMOM行,OUTCAR和PROCAR.文件中的总磁矩和局域磁矩,WA.VECAR中的类自旋轨道和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
cp makefile.mpi makefile.soc
在makefile.soc修改
CPP =$(CPP_) -DMPI -DHOST=\"LinuxIFC\" -DIFC \
-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
LWA.VE=.F; LCHARG=.F
EDIFF = 1E-5 ; EDIFFG = -0.001