User Tools

Site Tools


quantumespresso:respack

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
quantumespresso:respack [2020/07/25 19:08]
koudai [計算の収束]
quantumespresso:respack [2020/08/01 01:06]
koudai [インプットファイル]
Line 8: Line 8:
   * 日本語および英語のマニュアルでは使用例とその結果が充実しているので、初心者でも特に困ることはないと思います   * 日本語および英語のマニュアルでは使用例とその結果が充実しているので、初心者でも特に困ることはないと思います
     * https://sites.google.com/view/kazuma7k6r     * https://sites.google.com/view/kazuma7k6r
-  * f電子系はできないようです? +  * f電子系やスピン軌道相互作用がある系に非対応。 
  
  
Line 15: Line 15:
 ===== RESPACK 20200113 + Ubuntu 18.04 ===== ===== RESPACK 20200113 + Ubuntu 18.04 =====
  
-事前にMPIライブラリとCMakeをインストールしてください。CMakeは次のようにして導入します+事前にMPIライブラリと以下のパッケージをインストールしてください。
 <code> <code>
-$ sudo apt install cmake+$ sudo apt install cmake python-numpy
 </code> </code>
  
Line 77: Line 77:
   MAX_STEP_LENGTH               = 4.0d0,  !o: 広がり汎関数最小化におけるステップ長   MAX_STEP_LENGTH               = 4.0d0,  !o: 広がり汎関数最小化におけるステップ長
   set_inner_window              = F,      !o: インナーウィンドウの設定有無 (有:T , 無:F)   set_inner_window              = F,      !o: インナーウィンドウの設定有無 (有:T , 無:F)
-  Lower_inner_window            = 10.0d0, !o: エネルギーインナーウィンドウ下限 (eV) +  Lower_inner_window            = 10.0d0, !o: エネルギーインナーウィンドウ下限 (eV) Lower_energy_windowよりも大きな値にする 
-  Upper_inner_window            = 35.0d0, !o: エネルギーインナーウィンドウ上限 (eV)+  Upper_inner_window            = 30.0d0, !o: エネルギーインナーウィンドウ上限 (eV) Upper_energy_windowよりも小さな値にする
   flg_initial_guess_direc       = 0,      !o: 各原子で局所座標系を指定する場合は1   flg_initial_guess_direc       = 0,      !o: 各原子で局所座標系を指定する場合は1
   flg_BMAT                      = 0,      !o: 初期ガウシアンの線形結合係数を読み込む場合は1   flg_BMAT                      = 0,      !o: 初期ガウシアンの線形結合係数を読み込む場合は1
   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              = 0,      !o: フェルミ面を計算 ( しない : 0, する :1) +  flg_fermisurface              = 0,      !o: フェルミ面を計算 (しない: 0, する: 1) 
-  flg_global_dos                = 0/      !o: バンド計算の状態密度を計算 ( しない : 0, する :1)+  flg_global_dos                = 0/      !o: バンド計算の状態密度を計算 (しない: 0, する: 1)
   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+  dyz 0.2d0 0.0d0 0.0d0 0.0d0             !n: dyz 
 +  dx2 0.2d0 0.0d0 0.0d0 0.0d0             !n: dx2-y2   
 +  dxy 0.2d0 0.0d0 0.0d0 0.0d0             !n: dx
 &param_interpolation &param_interpolation
-  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:3,1); L +  0.500 0.500 0.500 !n: 対称k点(逆格子ベクトルの分率座標) 
-  0.000 0.000 0.000 !n: 対称 k 点 ; SK_sym_pts(1:3,2); G +  0.000 0.000 0.000 !n: 対称k点 
-  0.500 0.000 0.500 !n: 対称 k 点 ; SK_sym_pts(1:3,3); X +  0.500 0.000 0.500 !n: 対称k点 
-  0.500 0.250 0.750 !n: 対称 k 点 ; SK_sym_pts(1:3,4); W +  0.500 0.250 0.750 !n: 対称k点 
-  0.500 0.500 0.500 !n: 対称 k 点 ; SK_sym_pts(1:3,5); L+  0.500 0.500 0.500 !n: 対称k点
 &param_visualization &param_visualization
-  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,       !o: ワニエ関数の描画範囲 (a1 方向始点格子 ) +  ix_vis_min=-1,       !o: ワニエ関数の描画範囲 (a1方向始点格子) 
-  ix_vis_max= 1,       !o: ワニエ関数の描画範囲 (a1 方向終点格子 ) +  ix_vis_max= 1,       !o: ワニエ関数の描画範囲 (a1方向終点格子) 
-  iy_vis_min=-1,       !o: ワニエ関数の描画範囲 (a2 方向始点格子 ) +  iy_vis_min=-1,       !o: ワニエ関数の描画範囲 (a2方向始点格子) 
-  iy_vis_max= 1,       !o: ワニエ関数の描画範囲 (a2 方向終点格子 ) +  iy_vis_max= 1,       !o: ワニエ関数の描画範囲 (a2方向終点格子) 
-  iz_vis_min=-1,       !o: ワニエ関数の描画範囲 (a3 方向始点格子 ) +  iz_vis_min=-1,       !o: ワニエ関数の描画範囲 (a3方向始点格子) 
-  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を指定したときの、計算したいワニエ軌道の番号
 &param_chiqw &param_chiqw
Line 126: Line 126:
   flg_calc_type          = 0/       !o: 0: すべてのq, 1: q=0のみ, 2: 任意のq(マニュアル14章)   flg_calc_type          = 0/       !o: 0: すべてのq, 1: q=0のみ, 2: 任意のq(マニュアル14章)
 &param_calc_int &param_calc_int
-  calc_ifreq  = 1,  !o: 計算出力させたい周波数 デフォルトは omega=0)+  calc_ifreq  = 1, !o: 計算出力させたい周波数を1からNum_freq_gridで指定(デフォルトの1は omega=0
   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:
 </code> </code>
   * 既約k点の情報が必要なので、SCF計算 (ネームリスト<nowiki>&control</nowiki>内で<nowiki>calculation='scf'</nowiki>とする計算) の直後にRESPACKを使った計算をする必要があります   * 既約k点の情報が必要なので、SCF計算 (ネームリスト<nowiki>&control</nowiki>内で<nowiki>calculation='scf'</nowiki>とする計算) の直後にRESPACKを使った計算をする必要があります
 +  * k点数を変更したり、バンド計算など別の計算を行った後にRESPACKを使用する場合は、prefix.save を削除してから再度SCF計算を実行してください
 +  * k点は automatic により生成し、シフトしていないもの (0 0 0) を使用してください
  
 <nowiki>outdir='./tmp/'</nowiki>として、RESPACKの作業ディレクトリ dir-wfn/ 内に計算に必要なファイルを生成します <nowiki>outdir='./tmp/'</nowiki>として、RESPACKの作業ディレクトリ dir-wfn/ 内に計算に必要なファイルを生成します
Line 161: Line 163:
 </code> </code>
  
 +  * エネルギーインナーウィンドウはできる限り指定しておきましょう。
 +  * 電子数は指定しても良いですが、うまくワニエ化できなくなることが多くなります。そのときは electron_number_wannier_space = 0.0 にしてください。 
  
 ===== 分極関数の計算 ===== ===== 分極関数の計算 =====
  
-制限RPA法 (flg_crpa=1) によって計算する場合は、事前に calc_wannier による計算を済ませておきます。 
 &param_chiqw 内のパラメータが読み込まれます。 &param_chiqw 内のパラメータが読み込まれます。
 +制限RPA法 (flg_crpa=1) によって計算する場合は、事前に calc_wannier による計算を済ませておきます。
  
 <code> <code>
-$ mpirun -n 12 calc_chiqw < respack.in > LOG.wannier+$ mpirun -n 12 calc_chiqw < respack.in > LOG.chiqw
 </code> </code>
   * MPIのプロセス数は MPI_num_proc_per_qcomm * MPI_num_qcomm に一致させます   * MPIのプロセス数は MPI_num_proc_per_qcomm * MPI_num_qcomm に一致させます
   * この計算に一番時間がかかります   * この計算に一番時間がかかります
 +  * ユニットセルの体積が大きいほどメモリを多く消費します。
  
 ===== 相互作用の計算 ===== ===== 相互作用の計算 =====
  
-事前に制限RPA法(calc_chiqw で flg_cRPA=1)を使った計算が必要です。 
 &param_calc_int 内のパラメータが読み込まれます。 &param_calc_int 内のパラメータが読み込まれます。
 +事前に制限RPA法(calc_chiqw で flg_cRPA=1)を使った計算が必要です。
  
   * 直接相互作用<code>   * 直接相互作用<code>
Line 195: Line 200:
  
   * k点数 ... SCF計算で全エネルギーを収束させたもの   * k点数 ... SCF計算で全エネルギーを収束させたもの
-  * N_CALC_BAND ... フェルミ準位の20-30eV程度上のバンドが入るくらい 
   * Ecut_for_eps ... ecutwfcの1/10(デフォルト)   * Ecut_for_eps ... ecutwfcの1/10(デフォルト)
  
 次の手順で収束させます(flg_calc_type=1としてEELSの結果をプロットするのが便利です) 次の手順で収束させます(flg_calc_type=1としてEELSの結果をプロットするのが便利です)
  
-  - 多めの数のnbndでSCF計算を実行する(通常のバンドの数+100くらい) +  - 多めの数のnbndでSCF計算を実行する(フェルミ準位より50eV程度上のバンドが入るくらい) 
-  - N_CALC_BANDを増やし、分極関数を収束させる。足りなくなったらさらにnbndを増やしたSCF計算を再び行う+  - N_CALC_BANDを増やし、分極関数を収束させる。足りなくなったらnbndを増やしたSCF計算を再び行う
   - Ecut_for_eps を増やしていき、計算を収束させる。   - Ecut_for_eps を増やしていき、計算を収束させる。
   - SCF計算でk点数を増やし、分極関数を収束させる   - SCF計算でk点数を増やし、分極関数を収束させる
quantumespresso/respack.txt · Last modified: 2024/02/03 18:42 by koudai