测试环境:WSL2: Ubuntu 22.04
在此之前已获得:DFSET_harmonic
- cp si_alm.in to si_alm2.in,修改如下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| &general PREFIX = si222_cubic MODE = suggest NAT = 64; NKD = 1 KD = Si / &interaction NORDER = 2 / &cutoff Si-Si None 7.3 /
|
- 获得 si222_cubic.pattern_HARMONIC 和 si222_cubic.pattern_ANHARM3.
1
| alm si_alm2.in > si_alm2.log
|
- 进行VASP自洽计算
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| python displace.py --VASP=POSCAR.orig --mag=0.01 -pf si222_cubic.pattern_ANHARM3
for ((i=1;i<=20;i++)) do num=`echo $i | awk '{printf("%02d",$1)}'` mkdir ${num}_cubic cd ${num}_cubic cp ../disp${num}.POSCAR POSCAR cp ../INCAR INCAR cp ../POTCAR POTCAR cp ../KPOINTS KPOINTS mpirun -np 4 vasp_std cd ../ done
for ((i=1;i<=20;i++)) do num=`echo $i | awk '{printf("%02d",$1)}'` cp ./${num}_cubic/vasprun.xml ./vasprun${num}.xml done
|
- 通过
extract.py收集位移数据和力数据
1 2 3
| cp ~/softwares/alamode/alamode/tools/extract.py ./ python extract.py --VASP=POSCAR.orig vasprun*.xml > DFSET_cubic
|
- 拟合估计力常数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| &general PREFIX = si222_cubic MODE = optimize NAT = 64; NKD = 1 KD = Si /
&optimize DFSET = DFSET_cubic FC2XML = si222.xml /
alm si_alm2.in > si_alm2.log2
cat DFSET_harmonic DFSET_cubic > DFSET_merged
&optimize DFSET = DFSET_merged FC2XML = si222.xml /
alm si_alm2.in > si_alm2.log3
|
- 计算热导率
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| cp si_phdos.in si_RTA.in
&general PREFIX = si222 MODE = RTA FCSXML = si222_cubic.xml
NKD = 1; KD = Si MASS = 28.0855 /
&kpoint 2 10 10 10 /
|
1 2 3 4
| anphon si_RTA.in > si_RTA.log &
analyze_phonons.py --calc kappa_boundary --size 1.0e+6 si222.result > si222_boundary_1mm.kl
|
- 画图
1 2 3 4 5 6 7
| gnuplot set logscale xy set xlabel "Temperature (K)" set ylabel "Lattice thermal conductivity (W/mK)" plot "si222.kl" usi 1:2 w lp set out si222.png
|
- 分析结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| analyze_phonons.py --calc tau --temp 300 si222.result > tau300K_10.dat
analyze_phonons.py --calc cumulative --temp 300 --length 10000:5 si222.result > cumulative_300K_10.dat
&general PREFIX = si222 MODE = RTA FCSXML = si222_cubic.xml
NKD = 1; KD = Si MASS = 28.0855
EMIN = 0; EMAX = 550; DELTA_E = 1.0 /
&cell 10.203 0.0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0 /
&kpoint 2 10 10 10 /
&analysis KAPPA_SPEC = 1 / anphon si_RTA.in > si_RTA2.log
awk '{if ($1 == 300.0) print $0}' si222.kl_spec > si222_300K_10.kl_spec
|
参考
[1] https://alamode.readthedocs.io/en/latest/tutorial_pages/silicon.html