多数のk点を伴なう大規模系の状態密度(DOS)計算では大きなサイズのメモリーが必要になり、「DosMain」を用いた後処理計算において、 メモリ不足のために計算が異常終了してしまうことがあります。このような場合、on-the-flyのガウシアンブロードニング法が利用できます。 この方法では、OpenMXのDOS計算の際に、on-the-flyでガウシアンブロードニング法が適用され、DOSの計算が行われます。 大きなデータ量となる波動関数の情報はファイル「*.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」では、ガウス分布の を 定義する幅を指定します。キーワード「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が計算不可であること以外は、 これまで説明した方法と同様です。