チュートリアル¶
以下のチュートリアルは SCTK/examples/Al/
内で行う.
電荷密度のSCF計算¶
入力ファイル: scf.in
プログラム: pw.x (QuantumESPRESSO)
$ export OMP_NUM_THREADS=1
$ mpiexec -np 29 PATH/pw.x -nk 29 -in scf.in > scf.out
重要なパラメーター
- calculation = "scf"
pw.x でself-consistent計算を実行する.
注釈
次の フォノンおよび電子-フォノン相互作用の計算, 遮蔽Coulomb/スピン揺らぎ相互作用の計算 はどちらを先にやっても変わらない.
フォノンおよび電子-フォノン相互作用の計算¶
フォノン振動数, 変移ポテンシャルの計算¶
入力ファイル: ph.in
プログラム: ph.x (QuantumESPRESSO)
$ mpiexec -np 29 PATH/ph.x -nk 29 -in ph.in > ph.out
重要なパラメーター
- fildvscf = 'dv'
変移ポテンシャルのファイル名. 次のステップの計算で使われる.
- ldisp = .true.
一様 \({\bf q}\) グリッド上でフォノンを計算する.
- lshift_q = .true.
\(\Gamma\) 点の特異性を避けるために, \({\bf q}\) グリッドをずらす.
- nq1, nq2, nq3
\({\bf q}\) グリッドの分割数.
電子-フォノン相互作用の計算¶
入力ファイル: epmat.in
プログラム: ph.x (QuantumESPRESSO)
$ mpiexec -np 8 PATH/ph.x -nk 8 -in epmat.in > epmat.out
重要なパラメーター
- electron_phonon = "scdft_input"
すでに計算されている変移ポテンシャル, ダイナミカルマトリックスを読み込み, 電子-フォノンバーテックスを計算する.
- elph_nbnd_min, elph_nbnd_max
ギャップ方程式にはFermi準位近傍の電子-フォノン相互作用しか寄与しないので, 計算コストを下げるために電子-フォノン相互作用を求めるバンドの本数を絞る. Fermi準位を含むバンドは, QuantumESPRESSO にある, fermi_velocity.x によって調べることが出来る.
遮蔽Coulomb/スピン揺らぎ相互作用の計算¶
細かいkグリッドでのnon SCF計算¶
入力ファイル: nscf.in
プログラム: pw.x (QuantumESPRESSO)
$ mpiexec -np 32 PATH/pw.x -nk 32 -in nscf.in > nscf.out
重要なパラメーター
- calculation = "nscf"
Non Self-consistent 計算を行う.
- la2f = .true.
Kohn-Shamエネルギーの情報を含むファイル pwscf.a2Fsave を出力する.
- nbnd
分極関数を計算するため, 非占有バンドも計算しておく必要がある. ただし, 半導体の計算の時ほどたくさんとる必要はない. 目安は占有バンドと同程度である.
遮蔽Coulomb相互作用計算のための波動関数の計算¶
入力ファイル: twin.in
プログラム: pw.x (QuantumESPRESSO)
$ bash PATH/twingrid.x 4 4 4 >> twin.in
$ mpiexec -np 32 PATH/pw.x -nk 32 -in twin.in > twin.out
重要なパラメーター
- calculation = "bands"
この時 \({\bf k}\) 点メッシュに関しては上記のように twingrid.x の出力をファイル末尾にリダイレクトする. この時の, \({\bf k}\) 点メッシュは 電子-フォノン相互作用の計算 の ph.x のインプットの nq1, nq2, nq3 と同じにする. このインプットで pw.x を実行する.
遮蔽Coulomb相互作用の計算¶
入力ファイル: sctk.in
プログラム: sctk.x
$ mpiexec -np 32 PATH/sctk.x -nk 32 -in sctk.in > kel.out
重要なパラメーター
- calculation = "kel"
遮蔽Coulom/スピン揺らぎ媒介相互作用の計算を行う.
- nq1, nq2, nq3
これらはこの前のステップの \({\bf k}\) グリッドと同じにする.
転移温度計算¶
フォノンおよび電子-フォノン相互作用の計算, 遮蔽Coulomb/スピン揺らぎ相互作用の計算 の計算が全て終了した段階でSCDFT計算を行う.
入力ファイル: sctk.in (一部書き換える)
プログラム: sctk.x
$ export OMP_NUM_THREADS=32
$ mpiexec -np 1 PATH/sctk.x < sctk.in > tc.out
重要なパラメーター
- calculation = "scdft_tc"
この部分を書き換えて計算の種類を変える. ここでは2分法で \(T_c\) を求める.
その他の解析¶
パラメーター calculation を変えるといくつかの解析が行える.
入力ファイル: sctk.in (一部書き換える)
プログラム: sctk.x
$ mpiexec -np 1 PATH/sctk.x < sctk.in
重要なパラメーター
- calculation = "lambda_mu_k"
FermiSurfer でプロット可能な \(\lambda_{n {\bf {\bf k}}}\) データを出力する.
- calculation = "scdft"
ある温度でのSCDFT計算を行い, 以下のポスト処理で必要なファイル delta.dat を出力する.
- temp
温度(単位ケルビン). これを 0 もしくは負の値にすると, ゼロケルビン用の特別なアルゴリズムによる計算を行う.
- calculation = "deltaf"
FermiSurfer でプロット可能な \(\Delta_{n {\bf k}}\) データを出力する.
- calculation = "qpdos"
超伝導準粒子DOS. 計算時間は比較的長い.
注釈
SCTK/examples/MgB2 には別のチュートリアルがある. ただし, これらのチュートリアルは \({\bf k}\) 点数やバンド数, 擬ポテンシャルなどの精度が 十分ではないことに注意.