====== 概要 ====== アルミニウムを例に金属のフェルミ面の計算を行う。 表示には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