This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
quantumespresso:respack [2020/07/31 19:12] koudai [インプットファイル] |
quantumespresso:respack [2020/08/12 21:08] koudai [分極関数の計算] |
||
---|---|---|---|
Line 8: | Line 8: | ||
* 日本語および英語のマニュアルでは使用例とその結果が充実しているので、初心者でも特に困ることはないと思います | * 日本語および英語のマニュアルでは使用例とその結果が充実しているので、初心者でも特に困ることはないと思います | ||
* https:// | * https:// | ||
- | * f電子系やスピン軌道相互作用がある系には非対応。 | + | * f電子系やスピン軌道相互作用がある系には非対応 |
+ | * 擬ポテンシャルはノルム保存型のものにのみ対応しています。例えば以下のサイトのものを使用してください | ||
+ | * http:// | ||
Line 27: | Line 29: | ||
</ | </ | ||
- 作業ディレクトリを作成し、その中に入ります< | - 作業ディレクトリを作成し、その中に入ります< | ||
- | $ mkdir buiid | + | $ mkdir build |
$ cd build | $ cd build | ||
</ | </ | ||
Line 94: | Line 96: | ||
dxy 0.2d0 0.0d0 0.0d0 0.0d0 !n: dx | dxy 0.2d0 0.0d0 0.0d0 0.0d0 !n: dx | ||
& | & | ||
- | N_sym_points =5, !n: 計算ラインを構成する対称 k 点数 | + | N_sym_points = 5, !n: 計算ラインを構成する対称k点数 |
- | Ndiv =40/ !n: 対称 k 点間の分割数 | + | Ndiv = 40/ !n: 対称k点間の分割数 |
- | 0.500 0.500 0.500 !n: 対称 k 点 ; SK_sym_pts(1: | + | 0.500 0.500 0.500 !n: 対称k点(逆格子ベクトルの分率座標) |
- | 0.000 0.000 0.000 !n: 対称 k 点 ; SK_sym_pts(1: | + | 0.000 0.000 0.000 !n: 対称k点 |
- | 0.500 0.000 0.500 !n: 対称 k 点 ; SK_sym_pts(1: | + | 0.500 0.000 0.500 !n: 対称k点 |
- | 0.500 0.250 0.750 !n: 対称 k 点 ; SK_sym_pts(1: | + | 0.500 0.250 0.750 !n: 対称k点 |
- | 0.500 0.500 0.500 !n: 対称 k 点 ; SK_sym_pts(1: | + | 0.500 0.500 0.500 !n: 対称k点 |
& | & | ||
flg_vis_wannier = 0, !o: 実空間ワニエ関数を計算 (しない: 0, する: 1) | flg_vis_wannier = 0, !o: 実空間ワニエ関数を計算 (しない: 0, する: 1) | ||
Line 145: | Line 147: | ||
</ | </ | ||
* 既約k点の情報が必要なので、SCF計算 (ネームリスト< | * 既約k点の情報が必要なので、SCF計算 (ネームリスト< | ||
- | * k点数を変更したり、バンド計算など別の計算を行った後にRESPACKを使用する場合は、prefix.save を削除してから再度SCF計算を実行してください | + | * k点数を変更したり、バンド計算など別の計算を行った後にRESPACKを使用する場合は、ディレクトリ |
* k点は automatic により生成し、シフトしていないもの (0 0 0) を使用してください | * k点は automatic により生成し、シフトしていないもの (0 0 0) を使用してください | ||
Line 160: | Line 162: | ||
< | < | ||
+ | $ export OMP_NUM_THREADS=12 | ||
+ | $ export MKL_NUM_THREADS=12 | ||
$ calc_wannier < respack.in > LOG.wannier | $ calc_wannier < respack.in > LOG.wannier | ||
</ | </ | ||
+ | * OpenMPによる並列化のみ対応しています | ||
+ | * エネルギーウインドウはワニエ基底に射影するバンドの範囲です。 | ||
+ | * エネルギーインナーウィンドウ内のすべてのバンドがワニエ基底によるバンドと一致するように計算されます。指定しなくても計算可能ですが、できるだけ広い範囲を指定することでより確実なワニエ基底を得ることができます。 | ||
===== 分極関数の計算 ===== | ===== 分極関数の計算 ===== | ||
Line 170: | Line 177: | ||
< | < | ||
- | $ mpirun -n 12 calc_chiqw < respack.in > LOG.chiqw | + | $ export OMP_NUM_THREADS=12 |
+ | $ export MKL_NUM_THREADS=12 | ||
+ | $ mpirun -n 2 calc_chiqw < respack.in > LOG.chiqw | ||
</ | </ | ||
+ | * OpenMPとMPIのハイブリッドです。OMP_NUM_THREADSおよびMKL_NUM_THREADSにMPIの1スレッドあたりのOpenMP並列数を指定してください | ||
+ | * MPI_num_qcommには、すべてのqで計算するときに、いくつの点を同時に並列計算を行うかを指定します | ||
+ | * MPI_num_proc_per_qcommには、qの各点の計算に使用するスレッド数を指定します | ||
* MPIのプロセス数は MPI_num_proc_per_qcomm * MPI_num_qcomm に一致させます | * MPIのプロセス数は MPI_num_proc_per_qcomm * MPI_num_qcomm に一致させます | ||
* この計算に一番時間がかかります | * この計算に一番時間がかかります | ||
+ | * バンドの数、カットオフ、k点数、ユニットセルの体積に比例して非常に多くのメモリを消費します。普通の計算機ですとユニットセルに原子が10個くらいの物質が限界かと思われます(それ以上になる場合はスパコンの利用を検討してください)。 | ||
+ | * 観測される物理量としての光学応答を調べたければ通常のRPAを、相互作用パラメータを求めたければ制限RPAを使用します。それぞれ収束に必要なパラメータは異なるので注意してください。 | ||
===== 相互作用の計算 ===== | ===== 相互作用の計算 ===== | ||
Line 181: | Line 195: | ||
* 直接相互作用< | * 直接相互作用< | ||
+ | $ export OMP_NUM_THREADS=12 | ||
+ | $ export MKL_NUM_THREADS=12 | ||
$ calc_w3d < respack.in > LOG.w3d | $ calc_w3d < respack.in > LOG.w3d | ||
</ | </ | ||
* 交換相互作用< | * 交換相互作用< | ||
+ | $ export OMP_NUM_THREADS=12 | ||
+ | $ export MKL_NUM_THREADS=12 | ||
$ calc_j3d < respack.in > LOG.j3d | $ calc_j3d < respack.in > LOG.j3d | ||
</ | </ | ||
Line 199: | Line 217: | ||
* Ecut_for_eps ... ecutwfcの1/ | * Ecut_for_eps ... ecutwfcの1/ | ||
- | 次の手順で収束させます(flg_calc_type=1としてEELSの結果をプロットするのが便利です) | + | 次の手順で収束させます(flg_calc_type=1としてEELSの結果をプロットして収束を確認するのが便利です) |
- | - 多めの数のnbndでSCF計算を実行する(フェルミ準位より50eV程度上のバンドが入るくらいくらい) | + | - 多めの数のnbndでSCF計算を実行する(最初は非占有状態のバンドが50本くらいになるか、あるいはフェルミ準位より2,30eV程度上のバンドが入るくらいで試すと良い) |
- | - N_CALC_BANDを増やし、分極関数を収束させる。足りなくなったらnbndを増やしたSCF計算を再び行う | + | - (制限RPAの場合)相互作用の大きさを求めたい軌道のワニエ基底を計算する。 |
- | - Ecut_for_eps | + | - N_CALC_BAND に関して分極関数を収束させる。足りなくなったらnbndを増やしたSCF計算を再び行う |
+ | - Ecut_for_eps | ||
- SCF計算でk点数を増やし、分極関数を収束させる | - SCF計算でk点数を増やし、分極関数を収束させる | ||