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/24 22:14] koudai [インプットファイル] |
quantumespresso:respack [2020/08/01 01:01] koudai [ワニエ関数の計算] |
||
---|---|---|---|
Line 8: | Line 8: | ||
* 日本語および英語のマニュアルでは使用例とその結果が充実しているので、初心者でも特に困ることはないと思います | * 日本語および英語のマニュアルでは使用例とその結果が充実しているので、初心者でも特に困ることはないと思います | ||
* https:// | * https:// | ||
- | * f電子系はできないようです? | + | * f電子系やスピン軌道相互作用がある系には非対応。 |
Line 15: | Line 15: | ||
===== RESPACK 20200113 + Ubuntu 18.04 ===== | ===== RESPACK 20200113 + Ubuntu 18.04 ===== | ||
- | 事前にMPIライブラリとCMakeをインストールしてください。CMakeは次のようにして導入します | + | 事前にMPIライブラリと以下のパッケージをインストールしてください。 |
< | < | ||
- | $ sudo apt install cmake | + | $ sudo apt install cmake python-numpy |
</ | </ | ||
Line 29: | Line 29: | ||
$ mkdir buiid | $ mkdir buiid | ||
$ cd build | $ cd build | ||
- | < | + | </code> |
- CMakeによりインストールの設定を行います。下の例では / | - CMakeによりインストールの設定を行います。下の例では / | ||
* GCCを使う場合< | * GCCを使う場合< | ||
Line 77: | Line 77: | ||
MAX_STEP_LENGTH | MAX_STEP_LENGTH | ||
set_inner_window | set_inner_window | ||
- | Lower_inner_window | + | Lower_inner_window |
- | Upper_inner_window | + | Upper_inner_window |
flg_initial_guess_direc | flg_initial_guess_direc | ||
flg_BMAT | flg_BMAT | ||
electron_number_wannier_space = 0.0 !o: ワニエ空間での電子数(最大2*N_wannier個)。ただし0.0とした場合はSCF計算のフェルミエネルギーが使われる | electron_number_wannier_space = 0.0 !o: ワニエ空間での電子数(最大2*N_wannier個)。ただし0.0とした場合はSCF計算のフェルミエネルギーが使われる | ||
- | flg_fermisurface | + | flg_fermisurface |
- | flg_global_dos | + | flg_global_dos |
s 0.2d0 0.0d0 0.0d0 0.0d0 !n: 軌道型 , 軌道指数 , ガウシアン位置 (結晶座標で指定) s | s 0.2d0 0.0d0 0.0d0 0.0d0 !n: 軌道型 , 軌道指数 , ガウシアン位置 (結晶座標で指定) s | ||
px 0.2d0 0.0d0 0.0d0 0.0d0 !n: px | px 0.2d0 0.0d0 0.0d0 0.0d0 !n: px | ||
py 0.2d0 0.0d0 0.0d0 0.0d0 !n: py | py 0.2d0 0.0d0 0.0d0 0.0d0 !n: py | ||
pz 0.2d0 0.0d0 0.0d0 0.0d0 !n: pz | pz 0.2d0 0.0d0 0.0d0 0.0d0 !n: pz | ||
- | dxy 0.2d0 0.0d0 0.0d0 0.0d0 !n: dx | ||
- | dyz 0.2d0 0.0d0 0.0d0 0.0d0 !n: dyz | ||
dz2 0.2d0 0.0d0 0.0d0 0.0d0 !n: dz2 | dz2 0.2d0 0.0d0 0.0d0 0.0d0 !n: dz2 | ||
dzx 0.2d0 0.0d0 0.0d0 0.0d0 !n: dzx | dzx 0.2d0 0.0d0 0.0d0 0.0d0 !n: dzx | ||
- | dx2 0.2d0 0.0d0 0.0d0 0.0d0 !n: dx2-y2 | + | |
+ | | ||
+ | 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/ !o: 対称 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 点 ; SK_sym_pts(1: |
0.000 0.000 0.000 !n: 対称 k 点 ; SK_sym_pts(1: | 0.000 0.000 0.000 !n: 対称 k 点 ; SK_sym_pts(1: | ||
0.500 0.000 0.500 !n: 対称 k 点 ; SK_sym_pts(1: | 0.500 0.000 0.500 !n: 対称 k 点 ; SK_sym_pts(1: | ||
Line 102: | Line 102: | ||
0.500 0.500 0.500 !n: 対称 k 点 ; SK_sym_pts(1: | 0.500 0.500 0.500 !n: 対称 k 点 ; SK_sym_pts(1: | ||
& | & | ||
- | flg_vis_wannier = 0, !o: 実空間ワニエ関数を計算 ( しない : 0, する :1) | + | flg_vis_wannier = 0, !o: 実空間ワニエ関数を計算 (しない: 0, する: 1) |
N_write_wannier = 9, !o: 求めたい実空間ワニエ関数の数。指定しない場合はN_wannierの値になる | N_write_wannier = 9, !o: 求めたい実空間ワニエ関数の数。指定しない場合はN_wannierの値になる | ||
- | ix_vis_min=-1, | + | ix_vis_min=-1, |
- | ix_vis_max= 1, !o: ワニエ関数の描画範囲 (a1 方向終点格子 ) | + | ix_vis_max= 1, !o: ワニエ関数の描画範囲 (a1方向終点格子) |
- | iy_vis_min=-1, | + | iy_vis_min=-1, |
- | iy_vis_max= 1, !o: ワニエ関数の描画範囲 (a2 方向終点格子 ) | + | iy_vis_max= 1, !o: ワニエ関数の描画範囲 (a2方向終点格子) |
- | iz_vis_min=-1, | + | iz_vis_min=-1, |
- | iz_vis_max= 1/ !o: ワニエ関数の描画範囲 (a3 方向終点格子 ) | + | iz_vis_max= 1/ !o: ワニエ関数の描画範囲 (a3方向終点格子) |
1 2 3 4 5 6 7 8 9 !o: N_write_wannierを指定したときの、計算したいワニエ軌道の番号 | 1 2 3 4 5 6 7 8 9 !o: N_write_wannierを指定したときの、計算したいワニエ軌道の番号 | ||
& | & | ||
Line 126: | Line 126: | ||
flg_calc_type | flg_calc_type | ||
& | & | ||
- | calc_ifreq | + | calc_ifreq |
ix_intJ_min = 0, !o: 交換積分の計算範囲 (a1 方向始点格子 )(calc_j3d のみ ) | ix_intJ_min = 0, !o: 交換積分の計算範囲 (a1 方向始点格子 )(calc_j3d のみ ) | ||
ix_intJ_max = 0, !o: 交換積分の計算範囲 (a1 方向終点格子 )(calc_j3d のみ ) | ix_intJ_max = 0, !o: 交換積分の計算範囲 (a1 方向終点格子 )(calc_j3d のみ ) | ||
Line 145: | Line 145: | ||
</ | </ | ||
* 既約k点の情報が必要なので、SCF計算 (ネームリスト< | * 既約k点の情報が必要なので、SCF計算 (ネームリスト< | ||
+ | * k点数を変更したり、バンド計算など別の計算を行った後にRESPACKを使用する場合は、prefix.save を削除してから再度SCF計算を実行してください | ||
+ | * k点は automatic により生成し、シフトしていないもの (0 0 0) を使用してください | ||
< | < | ||
Line 161: | Line 163: | ||
</ | </ | ||
+ | * エネルギーインナーウィンドウはできる限り指定しておきましょう。 | ||
+ | * 電子数は指定しても良いですが、うまくワニエ化できなくなることが多くなります。そのときは electron_number_wannier_space = 0.0 にしてください。 | ||
===== 分極関数の計算 ===== | ===== 分極関数の計算 ===== | ||
- | 制限RPA法 (flg_crpa=1) によって計算する場合は、事前に calc_wannier による計算を済ませておきます。 | ||
& | & | ||
+ | 制限RPA法 (flg_crpa=1) によって計算する場合は、事前に calc_wannier による計算を済ませておきます。 | ||
< | < | ||
- | $ mpirun -n 12 calc_chiqw < respack.in > LOG.wannier | + | $ mpirun -n 12 calc_chiqw < respack.in > LOG.chiqw |
</ | </ | ||
* MPIのプロセス数は MPI_num_proc_per_qcomm * MPI_num_qcomm に一致させます | * MPIのプロセス数は MPI_num_proc_per_qcomm * MPI_num_qcomm に一致させます | ||
Line 175: | Line 179: | ||
===== 相互作用の計算 ===== | ===== 相互作用の計算 ===== | ||
- | 事前に制限RPA法(calc_chiqw で flg_cRPA=1)を使った計算が必要です。 | ||
& | & | ||
+ | 事前に制限RPA法(calc_chiqw で flg_cRPA=1)を使った計算が必要です。 | ||
* 直接相互作用< | * 直接相互作用< | ||
Line 195: | Line 199: | ||
* k点数 ... SCF計算で全エネルギーを収束させたもの | * k点数 ... SCF計算で全エネルギーを収束させたもの | ||
- | * N_CALC_BAND ... フェルミ準位の20-30eV程度上のバンドが入るくらい | ||
* Ecut_for_eps ... ecutwfcの1/ | * Ecut_for_eps ... ecutwfcの1/ | ||
- | 次の手順で求めたい物理量を収束させます(flg_calc_type=1としてEELSの結果をプロットするのが便利です) | + | 次の手順で収束させます(flg_calc_type=1としてEELSの結果をプロットするのが便利です) |
- | - 多めの数のnbndでSCF計算を実行する(通常のバンドの数+50くらい) | + | - 多めの数のnbndでSCF計算を実行する(フェルミ準位より50eV程度上のバンドが入るくらい) |
- | - N_CALC_BANDを増やし、分極関数を収束させる。足りなくなったらさらにnbndを増やしたSCF計算を再び行う | + | - N_CALC_BANDを増やし、分極関数を収束させる。足りなくなったらnbndを増やしたSCF計算を再び行う |
- Ecut_for_eps を増やしていき、計算を収束させる。 | - Ecut_for_eps を増やしていき、計算を収束させる。 | ||
- SCF計算でk点数を増やし、分極関数を収束させる | - SCF計算でk点数を増やし、分極関数を収束させる |