- 追加された行はこの色です。
- 削除された行はこの色です。
* 銅(111)表面 [#w9763304]
ここではPBEで最適化したバルクの格子定数を用いて作成した6原子層から成る銅(111)表面のSCF計算とバンド計算の例を示す。
ここではPBEで最適化したバルクの格子定数を用いて作成した6原子層から成る銅(111)表面のSCF計算とバンド計算の例を示す。~
スラブの構造(原子位置)は例えば[[slabgen>計算コードの使い方/STATE/slabgen]]を使って作成する。
** SCF計算 [#k70d7070]
- 入力ファイル (nfinp_scf)
0 0 0 0 0 0
6.00000 20.00000 1 6 6 : GMAX GMAXP NTYP NATM NATM2
1 0 : num_space_group braivis_lattice_type
Cartesian
4.865948314378 0.000000000000 0.000000000000
-2.432974157189 4.214034853753 0.000000000000
0.000000000000 0.000000000000 79.460603233215
12 12 1 1 1 1 : K_mesh
1 0 : NCORD NINV : IWEI IMDTYP ITYP
0.000000000000 0.000000000000 9.932575404152 1 1 1
0.000000000000 2.809356569169 5.959545242491 1 1 1
0.000000000000 -2.809356569169 1.986515080830 1 1 1
0.000000000000 0.000000000000 -1.986515080830 1 1 1
0.000000000000 2.809356569169 -5.959545242491 1 1 1
0.000000000000 -2.809356569169 -9.932575404152 1 1 1
29 0.5000 22104.64 6 1 0.2 : IATOMN ALFA AMION ILOC IVAN
0 0 0 0 0 : ICOND INIPOS INIVEL ININOS INIACC
0 1 : ipre ipri
200 200 0 3200.00 0 : nmd1 nmd2 last_iter cpumax ifstop
6 1 : WAY_MIX MIX_WHAT
0 20 0.30 : iter_start KBXMIX MIX_ALPHA
0.20 0.30 0.20 0.20 0.20 : dtim1 dtim2 dtim3 dtim4 dtim
200.00 4 1 5.00D-12 : dtio imdalg iexpl edelta
-0.0010 1.00D+03 0 : width forccr istress
ggapbe 1 : xctype kspin
2.00 : destm
101 : nbztyp
4 4 4 : DUMMY
4 4 4 : DUMMY
48 : keg
1 : nextst
0 : 0 random numbers 1: matrix
2 : imsd
0 : evaluate_eko_diff
0 : npdosao
0 0.000 : sm_n dopping
STATEの実行
mpirun -np 8 ./STATE < nfinp_scf > nfout_scf
** バンド計算 [#hcb8fa4b]
- 入力ファイル (nfinp_band)
0 0 0 0 0 0
6.00000 20.00000 1 6 6 : GMAX, GMAXP, NTYP, NATM, NATM2
1 0 : num_space_group, type
Cartesian
4.865948314378 0.000000000000 0.000000000000
-2.432974157189 4.214034853753 0.000000000000
0.000000000000 0.000000000000 79.460603233215
12 12 1 1 1 1 : K_mesh
1 0 : NCORD NINV : IWEI, IMDTYP, ITYP
0.000000000000 0.000000000000 9.932575404152 1 1 1
0.000000000000 2.809356569169 5.959545242491 1 1 1
0.000000000000 -2.809356569169 1.986515080830 1 1 1
0.000000000000 0.000000000000 -1.986515080830 1 1 1
0.000000000000 2.809356569169 -5.959545242491 1 1 1
0.000000000000 -2.809356569169 -9.932575404152 1 1 1
29 0.5000 22104.64 6 1 0.2 : IATOMN,ALFA,AMION,ILOC,IVAN
22 0 0 0 0 : ICOND 0-MD, 1-CONT.MD, 2-WAVE FN,, 3-CHARGE DEN.
0 1 : ipre, ipri
200 200 0 3200.00 0 : nmd1,nmd2,last_iter,cpumax,ifstop
6 1 : SIMPLE=1,BROYD1=2,BROYD2=3,DFP=4,PULAY=5
0 20 0.60 : iter_start, KBXMIX, MIX_ALPHA
0.20 0.30 0.20 0.20 0.20 : dtim1,dtim2,dtim3,dtim4,dtim
200.00 4 1 5.0D-12 : dtio ,imdalg, iexpl, edelta
-0.0010 1.00D+03 0 : width,forccr,istress
ggapbe 1 : xctype,kspin
2.00 : destm
101 : nbztyp 0-sf, 1-bk, 2-sc, 3-bcc, 4-fcc, 5-dia, 6-hex
4 4 4 : DUMMY
4 4 4 : DUMMY
48 : keg
1 : nextst
0 : 0 random numbers 1: matrix
2 : imsd
0 : evaluate_eko_diff
0 : npdosao
0 0.000 : sm_n, dopping
&KPOINTS_BAND
NKSEG 3
KMESH 40 20 40
KPOINTS
0.0 0.0 0.0
0.5 0.0 0.0
0.33333333 0.33333333 0.0
0.0 0.0 0.0
&END
ここでバンドはGamma (0,0,0) -> M (1/2,0) -> K (1/3,1/3) -> Gamma (0,0) (k点の単位は逆格子ベクトル)に沿って計算される。
STATEの実行
mpirun -np 8 ./STATE < nfinp_band > nfout_band
energy.dataが得られるので
energy2band
を実行してバンドをXYデータ形式にしてプロットすると以下のようになる (添付gnuplotスクリプトを参照)。ここでフェルミレベルをエネルギーの原点にしている。
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/graph/band_Cu111.png,center)
ここでBrillouin zoneは以下のようになっている。
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/graph/BZ_hex.png,center)
得られたバンドを文献のものと比較してみる。例えばEuceda et al., Phys. Rev. B 28, 528-534 (1983)を参考にせよ。