首先进行共线的自洽计算,此时设置ISPIN以及MAGMOM
计算完之后准备下面的脚本,例如下面这个,是计算xy面的mae:
#!/bin/bash ## set M m=1 pi=$(echo "scale=8;4*a(1.0)"|bc -l) ## loop start for j in `seq 0 5 90`;do i=90 theta=$(echo "scale=8;$i*$pi/180.0"|bc -l) z=$(echo "scale=3;${m}*c($theta)"|bc -l) f=${i}_$j mkdir $f cp POSCAR POTCAR KPOINTS vasp5ncl.pbs CHGCAR $f cp INCAR0 ${f}/INCAR cd $f phi=$(echo "scale=8;$j*$pi/180.0"|bc -l) echo $theta $phi >> ../logfile x=$(echo "scale=3;${m}*s($theta)*c($phi)"|bc -l) y=$(echo "scale=3;${m}*s($theta)*s($phi)"|bc -l) echo $x $y $z >> ../logfile cat >> INCAR <<EOF SAXIS = $x $y $z EOF qsub vasp5ncl.pbs cd .. done
准备上述脚本,以及INCAR0,POSCAR,POTCAR,KPOINTS,vasp5ncl.pbs(提交脚本),CHGCAR,放入一个文件夹中
INCAR0相比于共线自洽计算的INCAR,需要修改以下参数: LSORBIT = T ! soc GGA_COMPAT = F ! !!!!! NBANDS=自洽计算的两倍 ISYM=0 ICHARG=11 注意此时不要设置SAXIS,这个参数在脚本中自动设置了
yz面脚本:
#!/bin/bash ## set M m=1 pi=$(echo "scale=8;4*a(1.0)"|bc -l) ## loop start for i in `seq 0 5 90`;do j=0 theta=$(echo "scale=8;$i*$pi/180.0"|bc -l) z=$(echo "scale=3;${m}*c($theta)"|bc -l) f=${i}_$j mkdir $f cp POSCAR POTCAR KPOINTS vasp5ncl.pbs CHGCAR $f cp INCAR0 ${f}/INCAR cd $f phi=$(echo "scale=8;$j*$pi/180.0"|bc -l) echo $theta $phi >> ../logfile y=$(echo "scale=3;${m}*s($theta)*c($phi)"|bc -l) x=$(echo "scale=3;${m}*s($theta)*s($phi)"|bc -l) echo $x $y $z >> ../logfile cat >> INCAR <<EOF SAXIS = $x $y $z EOF qsub vasp5ncl.pbs cd .. done
xz面脚本:
#!/bin/bash ## set M m=1 pi=$(echo "scale=8;4*a(1.0)"|bc -l) ## loop start for i in `seq 0 5 90`;do j=0 theta=$(echo "scale=8;$i*$pi/180.0"|bc -l) z=$(echo "scale=3;${m}*c($theta)"|bc -l) f=${i}_$j mkdir $f cp POSCAR POTCAR KPOINTS vasp5ncl.pbs CHGCAR $f cp INCAR0 ${f}/INCAR cd $f phi=$(echo "scale=8;$j*$pi/180.0"|bc -l) echo $theta $phi >> ../logfile x=$(echo "scale=3;${m}*s($theta)*c($phi)"|bc -l) y=$(echo "scale=3;${m}*s($theta)*s($phi)"|bc -l) #sin(phi)=0,所以y=0 echo $x $y $z >> ../logfile cat >> INCAR <<EOF SAXIS = $x $y $z EOF qsub vasp5ncl.pbs cd .. done
No Comments
Leave a comment Cancel