第一步:scf计算
编辑 run-ni.scf内容如下:CODE: &CONTROL
calculation = 'scf' ,
restart_mode = 'from_scratch' ,
outdir = './' ,
pseudo_dir = './' ,
prefix = 'ni' ,
/
&SYSTEM
ibrav = 2,
celldm(1) = 6.48,
nat = 1,
ntyp = 1,
ecutwfc = 24.0 ,
ecutrho = 288.0 ,
occupations = 'smearing' ,
degauss = 0.02 ,
smearing = 'methfessel-paxton' ,
nspin = 2 ,
starting_magnetization(1) = 0.7,
exxdiv_treatment = 'gygi-baldereschi' ,
/
&ELECTRONS
conv_thr = 1.0e-8 ,
mixing_beta = 0.7 ,
/
ATOMIC_SPECIES
Ni 58.69000 NiUS.RRKJ3.UPF
ATOMIC_POSITIONS
Ni 0.000000000 0.000000000 0.000000000
K_POINTS automatic
12 12 12 0 0 0
运行命令: pw.x <run-ni.scf >run-ni.scf.out
第二步:nscf计算(为什么需要这一步?)
编辑run-ni.nscf内容如下:CODE: &CONTROL
calculation = 'nscf' ,
restart_mode = 'from_scratch' ,
outdir = './' ,
pseudo_dir = './' ,
prefix = 'ni' ,
/
&SYSTEM
ibrav = 2,
celldm(1) = 6.48,
nat = 1,
ntyp = 1,
ecutwfc = 24.0 ,
ecutrho = 288.0 ,
nbnd = 8,
occupations = 'smearing' ,
degauss = 0.02 ,
smearing = 'methfessel-paxton' ,
nspin = 2 ,
starting_magnetization(1) = 0.7,
exxdiv_treatment = 'gygi-baldereschi' ,
/
&ELECTRONS
conv_thr = 1.0e-8 ,
mixing_beta = 0.7 ,
/
ATOMIC_SPECIES
Ni 58.69000 NiUS.RRKJ3.UPF
ATOMIC_POSITIONS
Ni 0.000000000 0.000000000 0.000000000
K_POINTS automatic
12 12 12 0 0 0
运行命令:pw.x <run-ni.nscf >run-ni.nscf.out
第三步:计算dos
编辑run-ni.dos内容如下:CODE: &dos
outdir='./'
prefix='ni'
fildos='ni.dos'
Emin=5.0, Emax=25.0, DeltaE=0.1
/
运行命令:dos.x <run-ni.dos>run-ni.dos.out
第四步:画图
前面一步已经计算出来了DOS,这一步只需要把图画出来就行了,DOS的数据保存在ni.dos中。
gnuplot
> p 'ni.dos' u 1:2 w l lw 3 tit 'spin up'
>p 'ni.dos' u 1:3 w l lw 3 'spin down'
即可得到下图。
1.jpg
不知道怎么得到费米能级的值?还有就是,大家有没有办法用gnuplot画出如下的图?
2.jpg
[ Last edited by HSE06 on 2013-6-6 at 22:31 ]