Tính mật độ trạng thái
Các tệp cần thiết:
si.scf.in -> Dùng để tính toán trường tự hợp
si.nscf.in -> Tính toán trường không tự hợp
si.dos.in -> Tính mật độ trạng thái
si_dos.gnu -> Chứa thông tin thực hiện vẽ biểu đồ qua gnuplot
Cú pháp:
pw.x < si.scf.in > si.scf.out pw.x < si.nscf.in > si.nscf.out dos.x < si.dos.in > si.dos.out
Tệp _.dos.in giúp tính ra mật độ trạng thái, lưu vào file _.dos. Muốn vẽ biểu đồ mật độ trạng thái, ta dùng gnuplot với tệp si_dos.gnu thông qua lệnh:
gnuplot si_dos.gnu
Nội dung điển hình của các tệp .nscf.in:
&CONTROL
calculation='nscf',
restart_mode='from_scratch',
prefix='si',
pseudo_dir='../pseudo/',
outdir='../tmp/',
/
&SYSTEM
ibrav=2,
celldm(1)=10.2625,
nat=2,
ntyp=1,
ecutwfc=60.0,
ecutrho=720.0,
nbnd=8,
occupations='tetrahedra',
/
&ELECTRONS
mixing_beta=0.7,
conv_thr=1d-8,
/
ATOMIC_SPECIES
Si 28.0855 Si.pbe-rrkj.UPF
ATOMIC_POSITIONS (alat)
Si 0.00 0.00 0.00
Si 0.25 0.25 0.25
K_POINTS automatic
12 12 12 1 1 1
Tệp .nscf.in này tương đồng với tệp .scf, chỉ khác chỗ khai báo tính toán calculation=’nscf’ và thêm 2 dòng:
nbnd=8,
occupations='tetrahedra',
Tuy vậy vẫn có thể không đưa vào, chương trình sẽ tính theo tham số mặc định. Điều cần lưu ý nhất khi tính toán trường không tự hợp ‘nscf’ là lưới chia K_POINTS phải dày hơn so với khi tính ‘scf’. Nếu không việc chạy chương trình sẽ bị lỗi.
Nội dung điển hình của tệp .dos:
&DOS
prefix='si',
outdir='../tmp/',
fildos='si.dos'
emin=-9.0,
emax=16.0,
/
Nội dung điển hình của tệp gnuplot:
#set terminal pdfcairo enhanced color solid font "Arial,10" size 10in,6in set terminal pdfcairo enhanced color solid font ",12" size 10in,6in set output "si_dos.pdf" efermi=6.3289 set yzeroaxis unset key set xrange [-8:15] set format y "%.0f" set xlabel "{/Symbol e} (eV)" set ylabel "DOS" set format y "%.1f" set style fill solid 1.0 noborder set style data filledcurves y1=0 plot "si.dos" u ($1-efermi):2 w lines lw 3.0 plot "si.dos" u ($1-efermi):2 fs solid 1.0 lc rgb "black"