next up previous contents index
Next: 全エネルギーの軌道分解 Up: 状態密度 Previous: 通常の方法   Contents   Index

多数のk点で計算する場合

多数のk点を伴なう大規模系の状態密度(DOS)計算では大容量サイズのメモリーが必要になり、「DosMain」を用いた後処理計算において、 メモリ不足のために計算が異常終了してしまうことがあります。このような場合、on-the-flyのガウシアンブロードニング法が利用できます。 この方法では、OpenMXのDOS計算の際に、on-the-flyでガウシアンブロードニング法が適用され、DOSの計算が行われます。 大きなデータ量となる波動関数の情報はファイル「System.Name.DOS.vec」に記録されません。この方法では、大容量のメモリを必要としませんので、 大規模な系の状態密度計算が可能です。本方法を用いる場合には、入力ファイルに次の様にキーワードを指定します。

     DosGauss.fileout      on       # default=off, on|off
     DosGauss.Num.Mesh    200       # default=200
     DosGauss.Width       0.2       # default=0.2 (eV)
この方法を使用する場合、キーワード「DosGauss.fileout」を「on」と指定します。 そして、キーワード「DosGauss.Num.Mesh」では、キーワード「Dos.Erange」で指定したエネルギー範囲の 分割数を指定します。キーワード「DosGauss.width」では、ガウス分布の $\exp(-(E/a)^2 )$を 定義する幅$a$を指定します。キーワード「DosGauss.fileout」と「Dos.fileout」は 排他的で併用することはできませんので、注意して下さい。従って、このキーワードを使用する場合には、 「Dos.fileout」は、次の様に「off」に設定します。
     Dos.fileout          off       # on|off, default=off
また「Dos.fileout」および「DosGauss.file」の両方のキーワードに対して次の2つのキーワードが有効です。
     Dos.Erange       -20.0  20.0   # default=-20 20 
     Dos.Kgrid           5 5 5      # default=Kgrid1 Kgrid2 Kgrid3
キーワード「DosGauss.fileout」では、ガウシアンブロードニング法によるDOSだけしか計算できません。 四面体法によるDOSは計算できませんので、注意して下さい。 「DosGauss.fileout」を用いた場合でも、「DosMain」による後処理の手続きは、四面体法によるDOSが計算不可であること以外は、 これまで説明した方法と同様です。