User Tools

Site Tools


Sidebar

quantumespresso:部分状態密度

概要

強磁性体のNiをもとに、状態密度を軌道の重みで分けた部分状態密度を計算します

計算手順

擬ポテンシャルとして、ウルトラソフト型の Ni.pz-nd-rrkjus.UPF をダウンロードしました

SCF計算

Ni.scf.in
&control
    calculation='scf'
    prefix='Ni'
    pseudo_dir = './pseudo/'
    outdir='./tmp/'
/

&system
    ibrav=2, celldm(1) =6.48, nat=1, ntyp=1,
    nspin = 2,  starting_magnetization(1)=0.7,
    ecutwfc = 24.0, ecutrho = 288.0,
    occupations='smearing', smearing='mv', degauss=0.02
/

&electrons
    conv_thr = 1.0e-10
    mixing_beta = 0.7 
/

ATOMIC_SPECIES
 Ni 58.69 Ni.pz-nd-rrkjus.UPF
ATOMIC_POSITIONS
 Ni 0.0 0.0 0.0
K_POINTS automatic
 8 8 8  1 1 1
$ pw.x < Ni.scf.in > Ni.scf.out

状態密度

k点を細かく取って、それぞれの点でのエネルギーを求める。 Ni.scf.inをコピーして作成する。

Ni.dos.in
&control
  calculation = 'nscf'
  prefix = 'ni',
  pseudo_dir = './pseudo/'
  outdir = './tmp/'
/

&system
  ibrav = 2, celldm(1) = 6.48, nat = 1, ntyp = 1,
  nspin = 2,
  starting_magnetization(1) = 0.7,
  ecutwfc = 24.0, ecutrho = 288.0, nbnd = 8,
  occupations = 'tetrahedra'
/

&electrons
  conv_thr = 1.0e-10
  mixing_beta = 0.7
/

ATOMIC_SPECIES
 Ni 58.69 Ni.pz-nd-rrkjus.UPF

ATOMIC_POSITIONS
 Ni 0.0 0.0 0.0

K_POINTS automatic
 12 12 12  0 0 0
$ pw.x < ni.dos.in > ni.dos.out

次に、状態密度を計算する。

Ni.dos2.in
&dos
  outdir = './tmp/'
  prefix = 'Ni'
  fildos = 'Ni.dos'
  Emin = 5.0, Emax = 25.0, DeltaE = 0.1
  ngauss = 1, degauss = 0.02
/
変数初期値説明
Eminなし状態密度のプロットの下限エネルギー。単位はeV
Emaxなし状態密度のプロットの上限エネルギー。単位はeV
DeltaEなし状態密度のプロットのエネルギーの刻み幅。単位はeV
ngauss0ブロードニングの方法。0:Simple Gaussian, 1:Methfessel-Paxton, -1:“cold smearing” (Marzari-Vanderbilt-DeVita-Payne)
degaussなしブロードニングの幅。単位はRy
$ dos.x < Ni.dos2.in > Ni.dos2.out

Ni.dos というファイルに、アップスピンとダウンスピン、それを合計したものの状態密度が出力される。

最後に、状態密度を軌道ごとに分解する

Ni.pdos.in
&projwfc
  outdir = './tmp/'
  prefix = 'Ni'
  Emin = 5.0, Emax = 25.0, DeltaE = 0.1
  ngauss = 1, degauss = 0.02
/
$ projwfc.x < Ni.pdos.in > Ni.pdos.out

Ni.pdos_atm#1(Ni)_wfc#1(s) にs軌道の部分状態密度が、Ni.pdos_atm#1(Ni)_wfc#2(d) にd電子の部分状態密度が、Ni.pdos_totに全状態密度が出力される。 出力されたファイルでのd軌道の部分状態密度であるが、左から順にd3z2−r2, dzx, dzy, dx2−y2, dxyである。 詳しくはマニュアル /PP/Doc/INPUT PROJWFC.html を参照すること。

k分解状態密度

Ni.scf.inをコピーして、Ni.bands.inを作成する。 &control にある calculation を scf から bands に変更する。 K_POINTSをバンドの経路に変更する

Ni.bands.in
&control
    calculation='bands'
    prefix='Ni'
    pseudo_dir = './pseudo/'
    outdir='./tmp/'
/

&system
    ibrav=2, celldm(1) =6.48, nat=1, ntyp=1,
    nspin = 2,  starting_magnetization(1)=0.7,
    ecutwfc = 24.0, ecutrho = 288.0,
    occupations='smearing', smearing='mv', degauss=0.02
/

&electrons
    conv_thr = 1.0e-10
    mixing_beta = 0.7 
/

ATOMIC_SPECIES
 Ni 58.69 Ni.pz-nd-rrkjus.UPF

ATOMIC_POSITIONS
 Ni 0.0 0.0 0.0

K_POINTS tpiba_b
 3
 1.0 0.0 0.0 40
 gG 56
 1.0 1.0 0.0 1
$ pw.x < Ni.bands.in > Ni.bands.out

projwfc.xを使って部分状態密度を計算する

Ni.kpdos.in
&projwfc
  outdir = './tmp/'
  prefix = 'Ni'
  ngauss = 0, degauss = 0.036748
  DeltaE = 0.01
  kresolveddos = .true.
  filpdos = 'Ni.k'
/
$ projwfc.x < Ni.kpdos.in > Ni.kpdos.out

すると Ni.kpdos.out というファイルの他に、Ni.k.pdos_tot, Ni.k.pdos_atm#1(Ni)_wfc#1(s), Ni.k.pdos atm#1(Ni)_wfc#2(d) というファイルができるはずである。 これはそれぞれ両方、 s電子のみ、d電子のみのk分解状態密度のデータである。

quantumespresso/部分状態密度.txt · Last modified: 2021/06/27 22:04 (external edit)