====== 概要 ======
アルミニウムを例に金属のフェルミ面の計算を行う。
表示にはXCrySDenを使うので、事前にインストールすること。
====== pw.xによるSCF計算 ======
&control
prefix = 'Al'
calculation = 'scf'
outdir = './tmp/'
pseudo_dir = './'
/
&system
ibrav = 2
celldm(1) = 7.50
nat = 1
ntyp = 1
ecutwfc = 12.0
occupations = 'tetrahedra_opt'
/
&electrons
/
ATOMIC_SPECIES
Al 26.98 Al.pz-vbc.UPF
ATOMIC_POSITIONS crystal
Al 0.0 0.0 0.0
K_POINTS automatic
6 6 6 1 1 1
$ pw.x < Al.scf.in > Al.scf.out
====== 固有エネルギーの計算 ======
Al.scf.inをコピーしてAl.nscf.inとし、以下のように編集する。
対称点におけるエネルギーの値は重要なので、K_POINTSはシフトしていないものを使うこと。
* calculation = 'nscf'に変更
* K_POINTSの数を増やす
&control
prefix = 'Al'
calculation = 'nscf'
outdir = './tmp/'
pseudo_dir = './'
/
&system
ibrav = 2
celldm(1) = 7.50
nat = 1
ntyp = 1
ecutwfc = 12.0
occupations = 'tetrahedra_opt'
/
&electrons
/
ATOMIC_SPECIES
Al 26.98 Al.pz-vbc.UPF
ATOMIC_POSITIONS crystal
Al 0.0 0.0 0.0
K_POINTS automatic
16 16 16 0 0 0
k点の数はなるべく多い方が正確なフェルミ面が描けるが、増やしすぎると計算時間が非常にかかる。
できあがったフェルミ面を見ながらk点数を徐々に増やしていくとよい。
$ pw.x < Al.nscf.in > Al.nscf.out
====== フェルミ面の計算 ======
Al.fs.inというファイルを新規に作成する
&fermi
outdir = './tmp/'
prefix = 'Al'
/
$ fs.x < Al.fs.in > Al.fs.out
====== フェルミ面の表示 ======
$ xcrysden --bxsf Al_fs.bxsf