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
Last revision Both sides next revision
wien2k:scf計算 [2020/04/01 15:33]
koudai [atom 1 has a large sphere , consider setting HDLOs and/or larger LVNS]
wien2k:scf計算 [2023/04/23 19:46]
koudai [CIFファイルからstructファイルを生成する方法]
Line 127: Line 127:
  
 実際にWIEN2kを使った第一原理計算を行うときは、対話形式でstructファイルを作成するよりも、結晶構造データの統一フォーマットであるCIFファイルから生成することが多くなると思います。 実際にWIEN2kを使った第一原理計算を行うときは、対話形式でstructファイルを作成するよりも、結晶構造データの統一フォーマットであるCIFファイルから生成することが多くなると思います。
-上記のサイトからCIFファイルをダウンロードし、ファイル名をTiC.cifに変更して作業ディレクトリに保存します。+上記のCODのサイトからCIFファイルをダウンロードし、ファイル名をTiC.cifに変更して作業ディレクトリに保存します。
  
 用意ができたら、プログラムcif2structを使ってstructファイルに変換します。 用意ができたら、プログラムcif2structを使ってstructファイルに変換します。
Line 137: Line 137:
 これで入力ファイルTiC.structができます。 これで入力ファイルTiC.structができます。
 ただし、このままだとマフィンチン半径$R_{\rm MT}$が正しく設定されていないので計算します。 ただし、このままだとマフィンチン半径$R_{\rm MT}$が正しく設定されていないので計算します。
 +拡張子の.structは不要です。
  
 <code> <code>
Line 163: Line 164:
 $ init_lapw -b -numk 1000 -rkmax 7.5 $ init_lapw -b -numk 1000 -rkmax 7.5
 </code> </code>
- +  * ここでフラグ -b はバッチモードで、これをつけることで指定のもの以外はすべてまとめてデフォルトの値に設定されます。 
-ここでフラグ -b はバッチモードで、これをつけることで指定のもの以外はすべてまとめてデフォルトの値に設定されます。 +  * 最後に init_lapw finished ok と出たらうまく行っています。このメッセージが出てこなかった場合、どこかで問題が起こっているので修正します。 
 +  
 オプションの意味は次のとおりです オプションの意味は次のとおりです
  
Line 201: Line 202:
  
 実行後、いろいろなファイルができますが、計算の経過や重要な情報は TiC.scf で確認できます。 実行後、いろいろなファイルができますが、計算の経過や重要な情報は TiC.scf で確認できます。
- +<code> 
-  $ grep ":ENE" TiC.scf     # 全エネルギー +$ grep ":ENE" TiC.scf     # 全エネルギー 
-  $ grep ":FER" TiC.scf     # フェルミ準位。単位は Ry です。 +(略) 
-  $ grep ":GAP" TiC.scf     # エネルギーギャップ。金属の場合は0になります。+:ENE  : ********** TOTAL ENERGY IN Ry =        -1783.96056300 
 +$ grep ":FER" TiC.scf     # フェルミ準位。単位は Ry です。 
 +(略) 
 +:FER  : F E R M I - ENERGY(TETRAH.M.)=   0.7492912035 
 +$ grep ":GAP" TiC.scf     # エネルギーギャップ。金属の場合は0になります。 
 +(略) 
 +:GAP (global)   :    0.0    Ry =     0.0   eV (metal) 
 +</code>
  
 これで電子状態が得られましたので、これをもとに状態密度やバンド分散などを計算することになります。 これで電子状態が得られましたので、これをもとに状態密度やバンド分散などを計算することになります。
 +
 +
 +===== SCF計算の再実行 =====
 +
 +SCF計算を再度実行したい場合は、ブロイデン法の履歴を削除してから再実行します。
 +(電子密度の分布は前回の計算のものが引き継がれます)
 +
 +<code>
 +$ rm *.broyd*
 +$ run_lapw -cc 0.0001 -ec 0.00001 -i 100
 +</code>
 +
 +フラグ-NIをつけて再実行することも可能ですが、計算条件を変更する場合は使えません(エラーが出ます)。
 +
 +<code>
 +$ run_lapw -cc 0.0001 -ec 0.00001 -i 100 -NI
 +</code>
  
  
 ====== k点数の変更 ====== ====== k点数の変更 ======
  
-計算の収束を見るために、k点数を変更したいとします。 +k点数が十分であったかを見るために、k点数を変更したいとします。 
-再び init_lapw を走らせると全ての設定が初期化されますので、k点数だけ変更するために x_lapw kgen を使います。+再び init_lapw を走らせると全ての設定や計算結果が初期化されますので、k点数だけ変更するために x_lapw kgen を使います。
  
 <code> <code>
Line 224: Line 249:
 </code> </code>
  
-再び計算実行するには、フラグ-NIをつけて run_lapw を実行します。 +計算の再実行は上で述べたようブロイデン法の履歴を削除してから行います。 
-<code> +最初は少ないk点数(10くらい)から初めて、徐々に増やしていきましょう。
-$ run_lapw -cc 0.0001 -ec 0.00001 -i 100 -NI +
-</code> +
- +
-あるいはブロイデン法を使ってSCF計算を収束させているで、その計算履歴を削除して +
-<code> +
-$ rm *.broyd* +
-$ run_lapw -cc 0.0001 -ec 0.00001 -i 100 +
-</code> +
-でも可能です(電子密度の分布は前回の計算のものが引き継がれます +
- +
-最初は少ないk点数(それこそ10くらい)から初めて、徐々に増やしていきましょう。+
 k点数に対して全エネルギーやフェルミ準位(半導体の場合はエネルギーギャップの大きさ)をプロットしてみて、収束しているかどうか必ず確認しましょう。 k点数に対して全エネルギーやフェルミ準位(半導体の場合はエネルギーギャップの大きさ)をプロットしてみて、収束しているかどうか必ず確認しましょう。
  
Line 244: Line 258:
  
  
-====== SCF計算結果の保存 ======+====== 計算結果の保存 ======
  
 計算の入出力ファイルを残しておきたい場合は save_lapw を使用します。 計算の入出力ファイルを残しておきたい場合は save_lapw を使用します。
Line 276: Line 290:
 ===== atom 1 has a large sphere , consider setting HDLOs and/or larger LVNS ===== ===== atom 1 has a large sphere , consider setting HDLOs and/or larger LVNS =====
  
-init_lapw を実行したとき、lstartの段階でこのようなメッセージが出たときはオプション -LVNS X (Xは4から10までの整数)をつけて、エラーが消えるまでXを増やしてください。 +init_lapw を実行したとき、lstartの段階でこのようなメッセージが出たときはオプション -LVNS X (Xは4から10までの整数)をつけて、エラーが消えるまでXを増やしてください。
-<code> +
-$ init_lapw -b -numk 1000 -rkmax 7.5 -lvns 5 +
-</code> +
- +
-もし"atom 1 has a large sphere , consider setting HDLOs"だけが残ったら、LVNSを増やすのはそこで打ち切り、警告がでなくなるまで setrmt_lapw でマフィンチン半径を減らします+
 <code> <code>
-$ setrmt_lapw -r 1 case 
-$ cp -f case.struct_setrmt case.struct 
 $ init_lapw -b -numk 1000 -rkmax 7.5 -lvns 5 $ init_lapw -b -numk 1000 -rkmax 7.5 -lvns 5
 </code> </code>
  
wien2k/scf計算.txt · Last modified: 2023/04/23 19:47 by koudai