Anthracene

このチュートリアルではアントラセン結晶の最局在ワニエ関数をwannier90を用いて求める方法を記述します。

構造最適化

先ず最初に原子位置と格子パラメーターをHellmann-Feynman力とストレスを用いて最適化します(calculation='vc-relax')。

SCF計算

最適化した構造を用いて新しいSCF計算用の入力ファイルを作成します(calculation='scf')。 入力ファイルの例:c28h20.scf.in 計算はジョブスクリプトを用いて実行します。

Non-SCF計算

wannier90を用いてワニエ関数するために先ず以下のようにnon-SCF計算を実行します。

  • wannier90*/util/kmesh.plを用いて以下のようにk点を生成します。
    $ kmesh.pl 4 4 4
    ここでは4 x 4 x 4 k点メッシュを使うものとする。
  • 得られたk点を用いてnon-SCF計算用入力ファイルを作成します。
    入力ファイルの例:c28h20.nscf.in SCF計算と同様、ジョブスクリプトを用いて計算の実行します。

プリプロセス

wannier90.x -pp

Non-SCF計算後、*.winというファイルを作成します。ここでは入力ファイル名をant.winとし、wannier90.xを以下のように実行します。

$ wannier90.x -pp ant

wannier90 (version 2)はmpiで並列化されておらず、プリプロセスは計算機の負担をかけないので、フロントエンド上で上記コマンドを実行しても問題はないでしょう。

pw2wannier90.x

次にpw2wannier90.xをSCF/NSCF計算と同様にジョブスクリプトを用いて実行します。 pw2wannier90.x用入力ファイルの例(pw2wan.in)

&inputpp
 prefix    = 'c28h20'
 outdir    = './tmp/'
 seedname  = 'ant' 
 write_amn = .true.
 write_mmn = .true.
 write_unk = .true.
/

pw2wannier90.xを計算する際、SCF/non-SCF計算でwf_collect=.false.になっている場合は、使用した時と同じコア数を使用することに注意して下さい。

wannier90.x

最後にwannier90.xを以下のように実行

$ wannier90.x ant

時間がかかるようであればジョブスクリプトを用いて計算を実行するようにして下さい。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-01-23 (月) 11:56:59 (458d)