热导率用vasp怎么算(bashVASPphonopy自动计算材料热膨胀系数等压热熔等)

由于利用VASP phonopy热膨膨胀系数、等压热熔等性质步骤比较繁多。为此,笔者以官网例子提示写了一个shell脚本可一次提交自动计算。可以为想计算热膨胀系数以及等压热熔等材料热学性质的读者提供提示和参考。

计算步骤如下:

  1. 结构优化得到CONTCAR改成POSCAR

  2. 改写缩放系数0.95-1.05建立11个POSCAR

  3. 对11个POSCAR进行声子计算

  4. 计算热学性质并收集thermal_properties-{1..11}.yaml文件

  5. 提取e-v.dat文件

  6. 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.05for 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.05docp POSCAR ./$icd ./$ised '2c '$i'' POSCAR > POSCARcd ..#第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.05docp rvasp5.3 ./$icd ./$iqsub rvasp5.3cd ..done#第4步mkdir CPfor 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.05docp mesh.conf ./$icd ./$iphonopy --fc vasprun.xml phonopy -t mesh.conf > thermo.datcp thermal_properties.yaml ../CP/thermal_properties-$i.yamlcd ..donecd ./CP/#mv thermal_properties-0.95.yaml thermal_properties-1.yamlmv thermal_properties-0.955.yaml thermal_properties-2.yamlmv thermal_properties-0.96.yaml thermal_properties-3.yamlmv thermal_properties-0.965.yaml thermal_properties-4.yamlmv thermal_properties-0.97.yaml thermal_properties-5.yamlmv thermal_properties-0.975.yaml thermal_properties-6.yamlmv thermal_properties-0.98.yaml thermal_properties-7.yamlmv thermal_properties-0.985.yaml thermal_properties-8.yamlmv thermal_properties-0.99.yaml thermal_properties-9.yamlmv thermal_properties-0.995.yaml thermal_properties-10.yamlmv thermal_properties-1.yaml thermal_properties-11.yamlmv thermal_properties-1.005.yaml thermal_properties-12.yamlmv thermal_properties-1.01.yaml thermal_properties-13.yamlmv thermal_properties-1.015.yaml thermal_properties-14.yamlmv thermal_properties-1.02.yaml thermal_properties-15.yamlmv thermal_properties-1.025.yaml thermal_properties-16.yamlmv thermal_properties-1.03.yaml thermal_properties-17.yamlmv thermal_properties-1.035.yaml thermal_properties-18.yamlmv thermal_properties-1.04.yaml thermal_properties-19.yamlmv thermal_properties-1.045.yaml thermal_properties-20.yamlmv thermal_properties-1.05.yaml thermal_properties-21.yamlmv thermal_properties-0.95.yaml thermal_properties-1.yamlcd ..#第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.05docd ./$id=$(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.datcd ..done#第6步phonopy-qha v-e.dat thermal_properties-{1..11}.yaml > thermo.dat

过程中用到的控制文件:

INCAR:

ISTART = 0ICHARG = 2ENCUT = 350ISMEAR = 0SIGMA = 0.1EDIFF=1E-5EDIFFG=-0.01PREC = AccurateIALGO=48NSW = 1IBRION = 8ISIF = 2#The Output FileLWAVE = .FALSE.LCHARG = .FALSE.LREAL=.FALSE.ADDGRID=.TRUE

mesh.conf:

ATOM_NAME = WDIM = 1 1 1MP = 3 3 3TPROP=.TRUE.TMAX=2000TSTEP=5FORCE_CONSTANTS = READ

最后计算所得的热学性质输出文件thermal_expansion.dat为热膨胀数据,作图如下,另外还有等压热熔、霍尔姆兹自由能等数,感兴趣的读者可以自行研究。

热导率用vasp怎么算(bashVASPphonopy自动计算材料热膨胀系数等压热熔等)(1)

公众号推荐:计算运维鸟

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页