热导率用vasp怎么算(bashVASPphonopy自动计算材料热膨胀系数等压热熔等)
由于利用VASP phonopy热膨膨胀系数、等压热熔等性质步骤比较繁多。为此,笔者以官网例子提示写了一个shell脚本可一次提交自动计算。可以为想计算热膨胀系数以及等压热熔等材料热学性质的读者提供提示和参考。
计算步骤如下:
-
结构优化得到CONTCAR改成POSCAR
-
改写缩放系数0.95-1.05建立11个POSCAR
-
对11个POSCAR进行声子计算
-
计算热学性质并收集thermal_properties-{1..11}.yaml文件
-
提取e-v.dat文件
-
phonopy-qha计算热学性质。
从第2步到第6步shell脚本如下:
#!/bin/bash
#第2步
mkdir 0.95 0.955 0.96 0.965 0.97 0.975 0.98 0.985 0.99 0.995 1 1.005 1.01 1.015 1.02 1.025 1.03 1.035 1.04 1.045 1.05
for i in 0.95 0.955 0.96 0.965 0.97 0.975 0.98 0.985 0.99 0.995 1 1.005 1.01 1.015 1.02 1.025 1.03 1.035 1.04 1.045 1.05
do
cp POSCAR ./$i
cd ./$i
sed '2c '$i'' POSCAR > POSCAR
cd ..
#第3步
for i in 0.95 0.955 0.96 0.965 0.97 0.975 0.98 0.985 0.99 0.995 1 1.005 1.01 1.015 1.02 1.025 1.03 1.035 1.04 1.045 1.05
do
cp rvasp5.3 ./$i
cd ./$i
qsub rvasp5.3
cd ..
done
#第4步
mkdir CP
for i in 0.95 0.955 0.96 0.965 0.97 0.975 0.98 0.985 0.99 0.995 1 1.005 1.01 1.015 1.02 1.025 1.03 1.035 1.04 1.045 1.05
do
cp mesh.conf ./$i
cd ./$i
phonopy --fc vasprun.xml
phonopy -t mesh.conf > thermo.dat
cp thermal_properties.yaml ../CP/thermal_properties-$i.yaml
cd ..
done
cd ./CP/
#mv thermal_properties-0.95.yaml thermal_properties-1.yaml
mv thermal_properties-0.955.yaml thermal_properties-2.yaml
mv thermal_properties-0.96.yaml thermal_properties-3.yaml
mv thermal_properties-0.965.yaml thermal_properties-4.yaml
mv thermal_properties-0.97.yaml thermal_properties-5.yaml
mv thermal_properties-0.975.yaml thermal_properties-6.yaml
mv thermal_properties-0.98.yaml thermal_properties-7.yaml
mv thermal_properties-0.985.yaml thermal_properties-8.yaml
mv thermal_properties-0.99.yaml thermal_properties-9.yaml
mv thermal_properties-0.995.yaml thermal_properties-10.yaml
mv thermal_properties-1.yaml thermal_properties-11.yaml
mv thermal_properties-1.005.yaml thermal_properties-12.yaml
mv thermal_properties-1.01.yaml thermal_properties-13.yaml
mv thermal_properties-1.015.yaml thermal_properties-14.yaml
mv thermal_properties-1.02.yaml thermal_properties-15.yaml
mv thermal_properties-1.025.yaml thermal_properties-16.yaml
mv thermal_properties-1.03.yaml thermal_properties-17.yaml
mv thermal_properties-1.035.yaml thermal_properties-18.yaml
mv thermal_properties-1.04.yaml thermal_properties-19.yaml
mv thermal_properties-1.045.yaml thermal_properties-20.yaml
mv thermal_properties-1.05.yaml thermal_properties-21.yaml
mv thermal_properties-0.95.yaml thermal_properties-1.yaml
cd ..
#第5步
for i in 0.95 0.955 0.96 0.965 0.97 0.975 0.98 0.985 0.99 0.995 1 1.005 1.01 1.015 1.02 1.025 1.03 1.035 1.04 1.045 1.05
do
cd ./$i
d=$(awk 'NR==3{print $1}' CONTCAR)
V=$(echo `awk -v x=$i -v a=$d -v b=$d -v c=$d 'BEGIN{printf "%.14f\n",x*x*x*a*b*c}'`)
E=$(grep "TOTEN" OUTCAR | tail -1| awk '{printf ".6f \n", $5}')
echo $V $E >> ../CP/v-e.dat
cd ..
done
#第6步
phonopy-qha v-e.dat thermal_properties-{1..11}.yaml > thermo.dat
过程中用到的控制文件:
INCAR:
ISTART = 0
ICHARG = 2
ENCUT = 350
ISMEAR = 0
SIGMA = 0.1
EDIFF=1E-5
EDIFFG=-0.01
PREC = Accurate
IALGO=48
NSW = 1
IBRION = 8
ISIF = 2
#The Output File
LWAVE = .FALSE.
LCHARG = .FALSE.
LREAL=.FALSE.
ADDGRID=.TRUE
mesh.conf:
ATOM_NAME = W
DIM = 1 1 1
MP = 3 3 3
TPROP=.TRUE.
TMAX=2000
TSTEP=5
FORCE_CONSTANTS = READ
最后计算所得的热学性质输出文件thermal_expansion.dat为热膨胀数据,作图如下,另外还有等压热熔、霍尔姆兹自由能等数,感兴趣的读者可以自行研究。
公众号推荐:计算运维鸟
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com