DFT_U opt

普通的输入参数

touch INCAR
echo 'SYSTEM=coordination' >> INCAR
echo 'ISTART=0' >> INCAR
echo 'ICHARG=2' >> INCAR
echo 'PREC=M' >> INCAR
echo 'ISPIN=2' >> INCAR
echo '#ion step' >> INCAR
echo 'IBRION=2' >> INCAR
echo 'NSW=500' >> INCAR
echo 'ISIF=2' >> INCAR
echo 'EDIFFG=-0.01' >> INCAR
echo 'ISYM=0' >> INCAR
echo '#ele step' >> INCAR
echo 'ALGO=N' >> INCAR
echo 'NELM=100' >> INCAR
echo 'EDIFF=1E-5' >> INCAR
echo 'ENCUT=500' >> INCAR
echo 'ISMEAR=0' >> INCAR
echo 'SIGMA=0.05' >> INCAR

U值得输入参数

echo '#DFT+U' >> INCAR
echo 'LDAU=.T.' >> INCAR
echo 'LDAUTYPE=2' >> INCAR
echo 'LMAXMIX=4' >> INCAR
qvasp -k 0.02

从循环里面添加U

DFT_U='6.0'
DFT_MAGMOM='4.0'

a=($(cat POSCAR | sed -n '6p'))
mom_num=($(cat POSCAR | sed -n '7p'))
j=0
for i in ${a[*]}
do

        if [ "$i" == "Co" ] || [ "$i" == "Fe" ] || [ "$i" == "Cu" ]\
 || [ "$i" == "Rh" ] || [ "$i" == "Ru" ] || [ "$i" == "Ni" ]; then
                atom[$j]=${i}_pv
                ul[$j]='2'
                uu[$j]=${DFT_U}
                mom_value[$j]=$DFT_MAGMOM
        else
                atom[$j]=${i}
                ul[$j]='-1'
                uu[$j]='0.0'
                mom_value[$j]='0.0'
        fi
        uj[$j]='0.0'
        mom[$j]=${mom_num[$j]}*${mom_value[$j]}
        let j=$j+1
#       echo $i
done

把循环得到得数列输入INCAR

echo "MAGMOM=${mom[*]}" >> INCAR
echo "LDAUL=${ul[*]}" >> INCAR
echo "LDAUU=${uu[*]}" >> INCAR
echo "LDAUJ=${uj[*]}" >> INCAR

qvasp -pbe ${atom[*]}
submit.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值