概要
WIEN2kはインストール時に、メモリを使用しすぎてしまわないように、行列サイズと固有値の数がある値以上の数になるとRKmaxを自動的に減らしてしまいます
このとき case.scf に
:WARN : WARNING: RKmax reduced due to NMATMAX
と出力されます
行列の最大サイズは NMATMAX * NMATMAX で、固有値の最大数は NUME で定義されています。
Dimension Parameterをいじるか、MPIの並列数を増やすことで、行列サイズと固有値サイズの最大値を増やすことができます。
MPIの並列数がnのとき、 NMATMAX → NMATMAX * √n に変更されます
通常はWIEN2kがインストール時に適当な値に設定してくれますが、メモリを増設したときなどは手動で再設定が必要です。
設定方法
WIEN2kをインストールしたディレクトリで次のコマンドを実行します
$ ./siteconfig
[D Dimension Parameters]
[A all programs (usually not necessary)] → Which parameter to change? (q to quit): NMATMAX
NMATMAXは、使用しているパソコンのメモリから概算します。MPIの1プロセスに最大 n GB使えるならば NMATMAX = sqrt(n)*10000 ぐらいに設定します
例えば64GBのメモリを詰んでいるならば NMATMAX = 80000 になります
[A all programs (usually not necessary)] → Which parameter to change? (q to quit): NUME
NUMEは NMATMAX/10 にするように説明がありますが、デフォルトはNMATMAXの約0.3倍です。
[R Compile/Recompile]
[M Compile programs with modified parameters]