Band structure HOWTO

バンド分散の計算方法

計算手順

  • SCF計算
    • DavidsonあるいはRMMを用いて自己無撞着な電荷密度(あるいはポテンシャル)を作成
  • バンド分散の計算に必要なファイルの準備
    • nfkpt.dataを以下の形式で作成し、固有値を計算したいk点を指定する

      &KPOINTS
      !k-points in cartesian coordinate
      !(in 2*pi/a,2*pi/b,2*pi/c unit)
       NUMBER_OF_KPOINTS 28
       KPOINTS CARTESIAN
       0.0000 0.0000 0.0000
       0.0000 0.0000 0.1000
       0.0000 0.0000 0.2000
       0.0000 0.0000 0.3000
       0.0000 0.0000 0.4000
       0.0000 0.0000 0.5000
       0.0000 0.0000 0.6000
       0.0000 0.0000 0.7000
       0.0000 0.0000 0.8000
       0.0000 0.0000 0.9000
       0.0000 0.0000 1.0000
       0.0000 0.0000 0.0000
       0.0000 0.1000 0.1000
       0.0000 0.2000 0.2000
       0.0000 0.3000 0.3000
       0.0000 0.4000 0.4000
       0.0000 0.5000 0.5000
       0.0000 0.6000 0.6000
       0.0000 0.7000 0.7000
       0.0000 0.8000 0.8000
       0.0000 0.9000 0.9000
       0.0000 1.0000 1.0000
       0.0000 0.0000 0.0000
       0.1000 0.1000 0.1000
       0.2000 0.2000 0.2000
       0.3000 0.3000 0.3000
       0.4000 0.4000 0.4000
       0.5000 0.5000 0.5000
      &END
      !あるいは#はコメント行と解釈される。
      &KPOINTS
      k点を示すタグ(必須)。セクションの終わりには必ず&ENDを記述すること。
       NUMBER_OF_KPOINTS 28
      キーワードに続いてk点の数を指定。
       KPOINTS CARTESIAN
      k点の始まりを示すキーワード。 CARTESIANというキーワードを指定するとk点は2*pi/a、2*pi/b、2*pi/cを単位としたカーテシアン座標で与え、これを省略するとk点は基本逆格子ベクトルを単位にして与えるられる。この行以下に指定した形式でのk点を指定する。
  • non self-consistentな計算(バンド計算)
    • ICOND=22としてnon-SCF計算を継続する。波動関数はscratchから生成される。
      波動関数が収束しない場合はICOND=23として計算の継続が可能である。

バンドのプロット

上記の計算の後に、energy.dataのデータを読み込んでgnuplotやxmgraceでプロットできるデータを作成しました。
rafiki:~hamada/STATE/tools/band/energy2band
(Opteron用バイナリ、ソースコードは同ディレクトリにあるenergy2band.f90)
コマンドを実行して質問に答えるとband.dataが生成される。このデータをプロットすれば良い。
ただしバンドの群論による分類は行っていないので、線でつなぐ時は注意が必要である。

Note

  • この機能は5.3.3で利用可能である。

更新履歴

2007-11-07 (水) 12:53:54 I. Hamada (created)

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS