普通的输入参数
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