User Tools

Site Tools


wien2k:scf計算

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
wien2k:scf計算 [2017/10/28 01:51]
koudai [SCF計算の実行]
wien2k:scf計算 [2019/01/26 02:00]
koudai [k点数の変更]
Line 20: Line 20:
  
 作業ディレクトリTiCを作成し、その中で作業します。 作業ディレクトリTiCを作成し、その中で作業します。
 +作業ディレクトリ名は必ずプロジェクト名と同じにします。
 ターミナルを立ち上げて、次のように入力します。 ターミナルを立ち上げて、次のように入力します。
  
Line 38: Line 39:
  
 基本的には質問に答えていくだけで完了します。 基本的には質問に答えていくだけで完了します。
-SPHERE RadIIやRMTの設定はとりあえず無視で+SPHERE RadIIやRMTの設定はとりあえずデフォルトのままにします
  
 <code> <code>
Line 123: Line 124:
  
 実際にWIEN2kを使った第一原理計算を行うときは、対話形式でstructファイルを作成するよりもCIFファイルから生成することが多くなると思います。 実際にWIEN2kを使った第一原理計算を行うときは、対話形式でstructファイルを作成するよりもCIFファイルから生成することが多くなると思います。
-上記のサイトからCIFファイルをダウンロードし、作業ディレクトリに保存します。+上記のサイトからCIFファイルをダウンロードし、ファイル名をTiC.cifに変更して作業ディレクトリに保存します。
  
 用意ができたら、プログラムcif2structを使ってstructファイルに変換します。 用意ができたら、プログラムcif2structを使ってstructファイルに変換します。
  
 <code> <code>
-cif2struct 5910091.cif+cif2struct TiC.cif
 </code> </code>
  
-5910091.structというファイルができますので適当な名前に変更しておきます。+これで入力ファイルTiC.structができます。 
 +ただしこのままだとマフィンチン半径$R_{\rm MT}$が正く設定されいないので計算します。
  
 <code> <code>
-$ mv 5910091.struct TiC.struct+$ setrmt_lapw TiC 
 +</code> 
 + 
 +マフィンチン半径が正しく設定された入力ファイルTiC.struct_setrmtというファイルができるので、さきほどの入力ファイルに上書きします。 
 + 
 +<code> 
 +$ mv -f TiC.struct_setrmt TiC.struct
 </code> </code>
  
Line 141: Line 149:
  
 SCF計算に入る前に、計算の設定の初期化をおこないます。 SCF計算に入る前に、計算の設定の初期化をおこないます。
-ほとんどの場合はデフォルトのままでよいですが、ここではk点数だけを設定しましょう。 +ここではk点数とRKmaxを設定しましょう。 
-k点数を増やせば計算の精度はあがりますが、計算時間もかかるようになります。 +k点数やRKmaxを増やせば計算の精度はあがりますが、計算時間もかかるようになります。 
-最終的にほしい物理量がk点数に対して収束しているか確認する必要があります。+最終的にほしい物理量がこれらのユーザー側が設定した量に対して収束しているか確認する必要があります。 
 + 
 +なお、RKmaxは波動関数のカットオフを決めます。原子の種類によって必要な大きさが異なるので、選び方は http://susi.theochem.tuwien.ac.at/reg_user/faq/rkmax.html を参照してください。 
 + 
 +ここではk点数を1000に、RKmaxを7.5にしてみましょう
  
 <code> <code>
-$ init_lapw -b -numk 1000+$ init_lapw -b -numk 1000 -rkmax 7.5
 </code> </code>
  
-ここでオプション-bはバッチモードで、これをつけることで指定のもの以外はすべてデフォルトの値に設定されます。 +ここでオプション -b はバッチモードで、これをつけることで指定のもの以外はすべてまとめてデフォルトの値に設定されます。 
-なお、他の設定はオプション-hにより参照できます。+他の設定はオプション -h により参照できます。
  
 <code> <code>
Line 159: Line 171:
 ====== SCF計算の実行 ====== ====== SCF計算の実行 ======
  
-これで準備が整いましたので計算を実行します。 +これで準備が整いましたので計算を実行します。 
-プログラムrun_lapwを使用します。+run_lapw を使用します。
  
 <code> <code>
Line 166: Line 178:
 </code> </code>
  
-ここでオプション-ecはエネルギーの収束で、オプション-ccは電荷の収束です。+ここでオプション -ec はエネルギーの収束で、オプション -cc は電荷の収束です。
 デフォルトはエネルギーの収束しか見ませんが、電荷の収束も見ておいたほうが無難です。 デフォルトはエネルギーの収束しか見ませんが、電荷の収束も見ておいたほうが無難です。
-また、オプション-iで最大何回までSCF計算を行うかを指定できます。+また、オプション -i で最大何回までSCF計算を行うかを指定できます。 
 他のオプションはオプション-hで確認できます。 他のオプションはオプション-hで確認できます。
  
Line 175: Line 188:
 </code> </code>
  
-実行後、いろいろファイルができますが、重要なはTiC.scfです。 +実行後、いろいろファイルができますが、計算の経過や重要な情報は TiC.scf で確認できます。 
-今回は金属なのでフェルミエネルギーが出力されています。 + 
-半導体あればギャップサイズが出力されます。+  $ grep ":ENE" TiC.scf     # 全エネルギーを確認します。 
 +  $ grep ":FER" TiC.scf     # フェルミ準位を確認します。単位は Ry す。 
 +  $ grep ":GAP" TiC.scf     # エネルギーギャップを確認します。金属の場合は0になります。
  
 これで電子状態が得られましたので、これをもとに状態密度やバンド分散などを計算することになります。 これで電子状態が得られましたので、これをもとに状態密度やバンド分散などを計算することになります。
Line 185: Line 200:
  
 計算の収束を見るために、k点数を変更したいとします。 計算の収束を見るために、k点数を変更したいとします。
-再びプログラムinit_lapwを走らせると、すべての設定が初期化されますので(今はすべてデフォルトなのでさほど問題ないですが)、k点数だけ変更するためにプログラムx_lapwを使います。+再び init_lapw を走らせるとての設定が初期化されますので(今はてデフォルトなのでさほど問題ないですが)、k点数だけ変更するために x_lapw kgen を使います。
  
 <code> <code>
Line 197: Line 212:
 </code> </code>
  
-再び計算を実行するにはTiC.broydXを削除してからrun_lapwを実行します。+再び計算を実行するには TiC.broydX を削除してから run_lapw を実行します。
  
 <code> <code>
 $ rm *.broyd* $ rm *.broyd*
-$ run_lapw -ec 0.0001 -cc 0.000+$ run_lapw -ec 0.0001 -cc 0.0001
 </code> </code>
  
-なお、case.broydXを削除しなかった場合は、60秒後に自動で削除してSCF計算がスタートします(その間にジョブのキャンセルが可能です)。+case.broydX を削除せずに run_lapw を実行した場合は、60秒後に自動で削除してSCF計算がスタートします(その間にジョブのキャンセルが可能です)。 
 + 
 +全エネルギーやフェルミ準位(半導体の場合はギャップ)が、k点数に対して収束しているか必ず確認しましょう。 
 +====== ジョブの一時停止 ====== 
 + 
 +ジョブを一旦止めたい時には、作業ディレクトリに.stopという名前の空のファイルを置けばよいようになっています。 
 + 
 +<code> 
 +$ touch .stop 
 +</code> 
 + 
 + 
 +====== プログラム名について ======
  
 +プログラム名の最後に _lapw をつけていましたが、これを省略しても良いようになっています。
 +例えば x_lapw は単に x だけでも問題ありません。
wien2k/scf計算.txt · Last modified: 2023/04/23 19:47 by koudai