第一原理分子動力学プログラム STATE Senri Wiki
開始行:
* アルミニウム結晶 [#wa27a0e1]
このチュートリアルでは金属系に関するk点およびスメアリング...
バンド構造および状態密度の計算方法も説明します。
** 収束性のテスト [#kd001903]
金属系では一般的に半導体・絶縁体に比べて多くのk点が必要に...
さらにSTATEではフェルミ面を取り扱うために様々な関数系によ...
*** k点に関する収束性の調査 [#lda8499b]
ここではMethfessel-Paxton法とテトラへドロン法を用いて全エ...
スメアリング法を使用するためには負のぼかし幅 (WIDTH)を指...
正のWIDTHを使用すると多項式のスメアリング関数が使用され、...
テトラへドロン法を使用する場合にはWIDTHを-10よりも小さい...
- スメアリング関数(Methfessel-Paxton法)を使用する場合の...
0 0 0 0 0 0 : I_CTRL(1:6) (DU...
4.00 8.00 1 1 1 : GMAX GMAXP NTYP...
221 2 : NUM_SPACE_GROUP...
7.5967 7.5967 7.5967 90.0 90.0 90.0 : A B C ALPHA BET...
06 06 06 1 1 1 : N1 N2 N3 M1 M2 M3
0 0 : NCORD, NINV
0.00 0.00 0.00 1 0 1 : CPS(1,1:3) IWEI...
13 0.50 26.98 6 1 0.2 : IATOMN ALFA AMI...
0 0 0 0 0 : ICOND INIPOS IN...
0 1 : IPRE IPRI
30 30 0 84200.00 0 : NMD1 NMD2 LAST_...
6 1 : WAY_MIX MIX_WHAT
0 20 0.60 : ITER_START KBXM...
0.20 0.30 0.20 0.20 0.20 : DTIM1 DTIM2 DTI...
300.00 4 1 0.50D-09 : DTIO IMDALG IEX...
-0.0020 0.50D+03 0 : WIDTH FORCCR IST...
ggapbe 1 : XCTYPE KSPIN
2.00 : DESTM
101 : NBZTYPE
4 4 4 : NKX NKY NKZ (DU...
4 4 4 : NKX2 NKY2 NKZ2 ...
6 : KEG
1 : NEXTST
0 : (DUMMY)
2 : IMSD
0 : EVALUATE_EKO_DIFF
0 : NPDOSAO
0 0.000 : SM_N DOPPING (D...
- テトラへドロン法を用いる場合の入力ファイル
0 0 0 0 0 0 : I_CTRL(1:6) (DU...
4.00 8.00 1 1 1 : GMAX GMAXP NTYP...
221 2 : NUM_SPACE_GROUP...
7.5967 7.5967 7.5967 90.0 90.0 90.0 : A B C ALPHA BET...
06 06 06 1 1 1 : N1 N2 N3 M1 M2 M3
0 0 : NCORD, NINV
0.00 0.00 0.00 1 0 1 : CPS(1,1:3) IWEI...
13 0.50 26.98 6 1 0.2 : IATOMN ALFA AMI...
0 0 0 0 0 : ICOND INIPOS IN...
0 1 : IPRE IPRI
30 30 0 84200.00 0 : NMD1 NMD2 LAST_...
6 1 : WAY_MIX MIX_WHAT
0 20 0.60 : ITER_START KBXM...
0.20 0.30 0.20 0.20 0.20 : DTIM1 DTIM2 DTI...
300.00 4 1 0.50D-09 : DTIO IMDALG IEX...
-10.02 0 0.50D+03 0 : WIDTH FORCCR IS...
ggapbe 1 : XCTYPE KSPIN
2.00 : DESTM
101 : NBZTYPE
4 4 4 : NKX NKY NKZ (DU...
4 4 4 : NKX2 NKY2 NKZ2 ...
6 : KEG
1 : NEXTST
0 : (DUMMY)
2 : IMSD
0 : EVALUATE_EKO_DIFF
0 : NPDOSAO
0 0.000 : SM_N DOPPING (D...
上記のファイルの違いはWIDTHの値だけです。~
k点メッシュを変えながら計算を実行すると、k点の関数として...
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/grap...
*** スメアリング幅に関する収束性のテスト [#pbe549d0]
金属系の全エネルギー(電子のエントロピーを含む自由エネル...
特にガウス関数とフェルミ-ディラック関数の場合は顕著です。
以下ではde Gironcoliによって最初に示された全エネルギーの...
依存性をアルミニウムについて確認します[Phys. Rev. B51, 67...
デフォルトのMethfessel-Paxton (一次のHermite-Gaussian関数...
フェルミ-ディラック分布関数の場合
&OTHERS
FERMI_DIRAC
&END
ガウシアン関数の場合
&OTHERS
GAUSSIAN
&END
MarzariとVanderbiltのcold smearingを使用する場合
&OTHERS
COLD
&END
とします。
全エネルギーをぼかし幅の関数として計算すると以下が得られ...
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/grap...
先に述べたようにフェルミ-ディラック関数とガウス関数を使用...
一般に我々の計算は0Kで行われており、ぼかし幅0の極限での...
そのような目的のもとでHermite-Gaussianあるいはcold smeari...
また一般にぼかし幅が大きければk点サンプリング数は少なくて...
ぼかし幅とk点数のバランスをうまくとり、効率的に計算を進め...
* バンド計算 [#c7d42ba2]
ここではバンド構造の計算方法を説明します。
バンド計算を行うためには、まず最初に電子密度をSCF計算によ...
以下はテスト用に比較的少ないk点数を用いたSCF計算用の入力...
- 入力ファイル (nfinp_scf)
0 0 0 0 0 0 : I_CTRL(1:6) (DU...
4.00 8.00 1 1 1 : GMAX GMAXP NTYP...
221 2 : NUM_SPACE_GROUP...
7.5967 7.5967 7.5967 90.0 90.0 90.0 : A B C ALPHA BET...
06 06 06 1 1 1 : N1 N2 N3 M1 M2 M3
0 0 : NCORD, NINV
0.00 0.00 0.00 1 0 1 : CPS(1,1:3) IWEI...
13 0.50 26.98 6 1 0.2 : IATOMN ALFA AMI...
0 0 0 0 0 : ICOND INIPOS IN...
0 1 : IPRE IPRI
30 30 0 84200.00 0 : NMD1 NMD2 LAST_...
6 1 : WAY_MIX MIX_WHAT
0 20 0.60 : ITER_START KBXM...
0.20 0.30 0.20 0.20 0.20 : DTIM1 DTIM2 DTI...
300.00 4 1 0.50D-09 : DTIO IMDALG IEX...
-0.0020 0.50D+03 0 : WIDTH FORCCR IS...
ggapbe 1 : XCTYPE KSPIN
2.00 : DESTM
101 : NBZTYPE
4 4 4 : NKX NKY NKZ (DU...
4 4 4 : NKX2 NKY2 NKZ2 ...
6 : KEG
1 : NEXTST
0 : (DUMMY)
2 : IMSD
0 : EVALUATE_EKO_DIFF
0 : NPDOSAO
0 0.000 : SM_N DOPPING (D...
次にSCF計算により得られた電荷密度を用いて、(電荷密度を固...
バンド計算においてはブリルアンゾーン内の高対称点をつなぐ...
以下はnon-SCFバンド計算用の入力ファイルの例です。
- 入力ファイル (nfinp_band)
0 0 0 0 0 0 : I_CTRL(1:6) (DU...
4.00 8.00 1 1 1 : GMAX GMAXP NTYP...
221 2 : NUM_SPACE_GROUP...
7.5967 7.5967 7.5967 90.0 90.0 90.0 : A B C ALPHA BET...
06 06 06 1 1 1 : N1 N2 N3 M1 M2 M3
0 0 : NCORD, NINV
0.00 0.00 0.00 1 0 1 : CPS(1,1:3) IWEI...
13 0.50 26.98 6 1 0.2 : IATOMN ALFA AMI...
22 0 0 0 0 : ICOND INIPOS IN...
0 1 : IPRE IPRI
30 30 0 84200.00 0 : NMD1 NMD2 LAST_...
6 1 : WAY_MIX MIX_WHAT
0 20 0.60 : ITER_START KBXM...
0.20 0.30 0.20 0.20 0.20 : DTIM1 DTIM2 DTI...
300.00 4 1 0.50D-09 : DTIO IMDALG IEX...
-0.0020 0.50D+03 0 : WIDTH FORCCR IS...
ggapbe 1 : XCTYPE KSPIN
2.00 : DESTM
101 : NBZTYPE
4 4 4 : NKX NKY NKZ (DU...
4 4 4 : NKX2 NKY2 NKZ2 ...
6 : KEG
1 : NEXTST
0 : (DUMMY)
2 : IMSD
0 : EVALUATE_EKO_DIFF
0 : NPDOSAO
0 0.000 : SM_N DOPPING (D...
&KPOINTS_BAND
NKSEG 4
KMESH 40 20 20 20
KPOINTS
0.000 0.000 0.000
0.000 0.500 0.500
0.250 0.500 0.750
0.500 0.500 0.500
0.000 0.000 0.000
&END
バンド計算を実行する時は以下のようにICONDを22に指定します。
22 0 0 0 0 : ICOND INIPOS IN...
ICONDに加えて以下のように&KPOINTS_BAND ... &ENDというブロ...
&KPOINTS_BAND
NKSEG 4
KMESH 40 20 20 20
KPOINTS
0.000 0.000 0.000
0.000 0.500 0.500
0.250 0.500 0.750
0.500 0.500 0.500
0.000 0.000 0.000
&END
ここで
NKSEG
はk点のセグメント(区分、線)の数を指定します。
各セグメントの刻み幅は
KMESH
でセグメントの数だけ指定します。
高対称点は
KPOINTS
というキーワードに続いて指定します。
指定するk点の数はNKSEG+1となります。~
この入力ファイルを用いてnon-SCFバンド計算を実行すると、出...
バンドをプロットするために"energy2band"というプログラムが...
"energy2band"は以下のように実行します。
$ energy2band
計算に用いられたバンドの数、プロットするバンドの数、バン...
これはgnuplotやxmgraceでプロット可能です。
以下はgnuplotスクリプトの例です。
set terminal postscript eps 'Helvetica' 22
set output 'band.eps'
emin=-12.5
emax=12.5
xmin=0.0
xmax=2.54176932
G=0.0
X=0.82709404
W=1.24064106
L=1.82548487
G2=2.54176932
offset=0.75
set xrange [xmin:xmax]
set yrange [emin:emax]
unset key
unset xtics
unset xlabel
set ylabel 'E-E_F (eV)'
set xzeroaxis
set arrow from X,emin to X,emax nohead
set arrow from W,emin to W,emax nohead
set arrow from L,emin to L,emax nohead
set label '{/Symbol G}' at G,emin-offset center
set label 'X' at X,emin-offset center
set label 'W' at W,emin-offset center
set label 'L' at L,emin-offset center
set label '{/Symbol G}' at G2,emin-offset center
plot 'band.data' using 1:2 with lines lw 3
これを"band.gp"というファイルに保存して
$ gnuplot band.gp
を実行すると"band.eps"というファイルが得られます。
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/grap...
* 練習問題 [#lf33eb74]
- 格子定数のk点およびスメアリング幅依存性を調べてみましょ...
終了行:
* アルミニウム結晶 [#wa27a0e1]
このチュートリアルでは金属系に関するk点およびスメアリング...
バンド構造および状態密度の計算方法も説明します。
** 収束性のテスト [#kd001903]
金属系では一般的に半導体・絶縁体に比べて多くのk点が必要に...
さらにSTATEではフェルミ面を取り扱うために様々な関数系によ...
*** k点に関する収束性の調査 [#lda8499b]
ここではMethfessel-Paxton法とテトラへドロン法を用いて全エ...
スメアリング法を使用するためには負のぼかし幅 (WIDTH)を指...
正のWIDTHを使用すると多項式のスメアリング関数が使用され、...
テトラへドロン法を使用する場合にはWIDTHを-10よりも小さい...
- スメアリング関数(Methfessel-Paxton法)を使用する場合の...
0 0 0 0 0 0 : I_CTRL(1:6) (DU...
4.00 8.00 1 1 1 : GMAX GMAXP NTYP...
221 2 : NUM_SPACE_GROUP...
7.5967 7.5967 7.5967 90.0 90.0 90.0 : A B C ALPHA BET...
06 06 06 1 1 1 : N1 N2 N3 M1 M2 M3
0 0 : NCORD, NINV
0.00 0.00 0.00 1 0 1 : CPS(1,1:3) IWEI...
13 0.50 26.98 6 1 0.2 : IATOMN ALFA AMI...
0 0 0 0 0 : ICOND INIPOS IN...
0 1 : IPRE IPRI
30 30 0 84200.00 0 : NMD1 NMD2 LAST_...
6 1 : WAY_MIX MIX_WHAT
0 20 0.60 : ITER_START KBXM...
0.20 0.30 0.20 0.20 0.20 : DTIM1 DTIM2 DTI...
300.00 4 1 0.50D-09 : DTIO IMDALG IEX...
-0.0020 0.50D+03 0 : WIDTH FORCCR IST...
ggapbe 1 : XCTYPE KSPIN
2.00 : DESTM
101 : NBZTYPE
4 4 4 : NKX NKY NKZ (DU...
4 4 4 : NKX2 NKY2 NKZ2 ...
6 : KEG
1 : NEXTST
0 : (DUMMY)
2 : IMSD
0 : EVALUATE_EKO_DIFF
0 : NPDOSAO
0 0.000 : SM_N DOPPING (D...
- テトラへドロン法を用いる場合の入力ファイル
0 0 0 0 0 0 : I_CTRL(1:6) (DU...
4.00 8.00 1 1 1 : GMAX GMAXP NTYP...
221 2 : NUM_SPACE_GROUP...
7.5967 7.5967 7.5967 90.0 90.0 90.0 : A B C ALPHA BET...
06 06 06 1 1 1 : N1 N2 N3 M1 M2 M3
0 0 : NCORD, NINV
0.00 0.00 0.00 1 0 1 : CPS(1,1:3) IWEI...
13 0.50 26.98 6 1 0.2 : IATOMN ALFA AMI...
0 0 0 0 0 : ICOND INIPOS IN...
0 1 : IPRE IPRI
30 30 0 84200.00 0 : NMD1 NMD2 LAST_...
6 1 : WAY_MIX MIX_WHAT
0 20 0.60 : ITER_START KBXM...
0.20 0.30 0.20 0.20 0.20 : DTIM1 DTIM2 DTI...
300.00 4 1 0.50D-09 : DTIO IMDALG IEX...
-10.02 0 0.50D+03 0 : WIDTH FORCCR IS...
ggapbe 1 : XCTYPE KSPIN
2.00 : DESTM
101 : NBZTYPE
4 4 4 : NKX NKY NKZ (DU...
4 4 4 : NKX2 NKY2 NKZ2 ...
6 : KEG
1 : NEXTST
0 : (DUMMY)
2 : IMSD
0 : EVALUATE_EKO_DIFF
0 : NPDOSAO
0 0.000 : SM_N DOPPING (D...
上記のファイルの違いはWIDTHの値だけです。~
k点メッシュを変えながら計算を実行すると、k点の関数として...
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/grap...
*** スメアリング幅に関する収束性のテスト [#pbe549d0]
金属系の全エネルギー(電子のエントロピーを含む自由エネル...
特にガウス関数とフェルミ-ディラック関数の場合は顕著です。
以下ではde Gironcoliによって最初に示された全エネルギーの...
依存性をアルミニウムについて確認します[Phys. Rev. B51, 67...
デフォルトのMethfessel-Paxton (一次のHermite-Gaussian関数...
フェルミ-ディラック分布関数の場合
&OTHERS
FERMI_DIRAC
&END
ガウシアン関数の場合
&OTHERS
GAUSSIAN
&END
MarzariとVanderbiltのcold smearingを使用する場合
&OTHERS
COLD
&END
とします。
全エネルギーをぼかし幅の関数として計算すると以下が得られ...
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/grap...
先に述べたようにフェルミ-ディラック関数とガウス関数を使用...
一般に我々の計算は0Kで行われており、ぼかし幅0の極限での...
そのような目的のもとでHermite-Gaussianあるいはcold smeari...
また一般にぼかし幅が大きければk点サンプリング数は少なくて...
ぼかし幅とk点数のバランスをうまくとり、効率的に計算を進め...
* バンド計算 [#c7d42ba2]
ここではバンド構造の計算方法を説明します。
バンド計算を行うためには、まず最初に電子密度をSCF計算によ...
以下はテスト用に比較的少ないk点数を用いたSCF計算用の入力...
- 入力ファイル (nfinp_scf)
0 0 0 0 0 0 : I_CTRL(1:6) (DU...
4.00 8.00 1 1 1 : GMAX GMAXP NTYP...
221 2 : NUM_SPACE_GROUP...
7.5967 7.5967 7.5967 90.0 90.0 90.0 : A B C ALPHA BET...
06 06 06 1 1 1 : N1 N2 N3 M1 M2 M3
0 0 : NCORD, NINV
0.00 0.00 0.00 1 0 1 : CPS(1,1:3) IWEI...
13 0.50 26.98 6 1 0.2 : IATOMN ALFA AMI...
0 0 0 0 0 : ICOND INIPOS IN...
0 1 : IPRE IPRI
30 30 0 84200.00 0 : NMD1 NMD2 LAST_...
6 1 : WAY_MIX MIX_WHAT
0 20 0.60 : ITER_START KBXM...
0.20 0.30 0.20 0.20 0.20 : DTIM1 DTIM2 DTI...
300.00 4 1 0.50D-09 : DTIO IMDALG IEX...
-0.0020 0.50D+03 0 : WIDTH FORCCR IS...
ggapbe 1 : XCTYPE KSPIN
2.00 : DESTM
101 : NBZTYPE
4 4 4 : NKX NKY NKZ (DU...
4 4 4 : NKX2 NKY2 NKZ2 ...
6 : KEG
1 : NEXTST
0 : (DUMMY)
2 : IMSD
0 : EVALUATE_EKO_DIFF
0 : NPDOSAO
0 0.000 : SM_N DOPPING (D...
次にSCF計算により得られた電荷密度を用いて、(電荷密度を固...
バンド計算においてはブリルアンゾーン内の高対称点をつなぐ...
以下はnon-SCFバンド計算用の入力ファイルの例です。
- 入力ファイル (nfinp_band)
0 0 0 0 0 0 : I_CTRL(1:6) (DU...
4.00 8.00 1 1 1 : GMAX GMAXP NTYP...
221 2 : NUM_SPACE_GROUP...
7.5967 7.5967 7.5967 90.0 90.0 90.0 : A B C ALPHA BET...
06 06 06 1 1 1 : N1 N2 N3 M1 M2 M3
0 0 : NCORD, NINV
0.00 0.00 0.00 1 0 1 : CPS(1,1:3) IWEI...
13 0.50 26.98 6 1 0.2 : IATOMN ALFA AMI...
22 0 0 0 0 : ICOND INIPOS IN...
0 1 : IPRE IPRI
30 30 0 84200.00 0 : NMD1 NMD2 LAST_...
6 1 : WAY_MIX MIX_WHAT
0 20 0.60 : ITER_START KBXM...
0.20 0.30 0.20 0.20 0.20 : DTIM1 DTIM2 DTI...
300.00 4 1 0.50D-09 : DTIO IMDALG IEX...
-0.0020 0.50D+03 0 : WIDTH FORCCR IS...
ggapbe 1 : XCTYPE KSPIN
2.00 : DESTM
101 : NBZTYPE
4 4 4 : NKX NKY NKZ (DU...
4 4 4 : NKX2 NKY2 NKZ2 ...
6 : KEG
1 : NEXTST
0 : (DUMMY)
2 : IMSD
0 : EVALUATE_EKO_DIFF
0 : NPDOSAO
0 0.000 : SM_N DOPPING (D...
&KPOINTS_BAND
NKSEG 4
KMESH 40 20 20 20
KPOINTS
0.000 0.000 0.000
0.000 0.500 0.500
0.250 0.500 0.750
0.500 0.500 0.500
0.000 0.000 0.000
&END
バンド計算を実行する時は以下のようにICONDを22に指定します。
22 0 0 0 0 : ICOND INIPOS IN...
ICONDに加えて以下のように&KPOINTS_BAND ... &ENDというブロ...
&KPOINTS_BAND
NKSEG 4
KMESH 40 20 20 20
KPOINTS
0.000 0.000 0.000
0.000 0.500 0.500
0.250 0.500 0.750
0.500 0.500 0.500
0.000 0.000 0.000
&END
ここで
NKSEG
はk点のセグメント(区分、線)の数を指定します。
各セグメントの刻み幅は
KMESH
でセグメントの数だけ指定します。
高対称点は
KPOINTS
というキーワードに続いて指定します。
指定するk点の数はNKSEG+1となります。~
この入力ファイルを用いてnon-SCFバンド計算を実行すると、出...
バンドをプロットするために"energy2band"というプログラムが...
"energy2band"は以下のように実行します。
$ energy2band
計算に用いられたバンドの数、プロットするバンドの数、バン...
これはgnuplotやxmgraceでプロット可能です。
以下はgnuplotスクリプトの例です。
set terminal postscript eps 'Helvetica' 22
set output 'band.eps'
emin=-12.5
emax=12.5
xmin=0.0
xmax=2.54176932
G=0.0
X=0.82709404
W=1.24064106
L=1.82548487
G2=2.54176932
offset=0.75
set xrange [xmin:xmax]
set yrange [emin:emax]
unset key
unset xtics
unset xlabel
set ylabel 'E-E_F (eV)'
set xzeroaxis
set arrow from X,emin to X,emax nohead
set arrow from W,emin to W,emax nohead
set arrow from L,emin to L,emax nohead
set label '{/Symbol G}' at G,emin-offset center
set label 'X' at X,emin-offset center
set label 'W' at W,emin-offset center
set label 'L' at L,emin-offset center
set label '{/Symbol G}' at G2,emin-offset center
plot 'band.data' using 1:2 with lines lw 3
これを"band.gp"というファイルに保存して
$ gnuplot band.gp
を実行すると"band.eps"というファイルが得られます。
#ref(http://www-cp.prec.eng.osaka-u.ac.jp/puki_state/grap...
* 練習問題 [#lf33eb74]
- 格子定数のk点およびスメアリング幅依存性を調べてみましょ...
ページ名: