準備とテスト計算 (OpenMX)

はじめに

さて、第一章を書いてから一年近く過ぎてしまいましたが、OpenMX再開したいと思います。 今回はデフォルトのサンプル構造を計算させようと思います。

基底関数と疑ポテンシャルの準備

OpenMXでは元素ごとに疑ポテンシャルと波動関数の基底関数セット(原子基底)を外部ファイルとして準備する必要があります。といっても、OpenMXの公式サイトに殆どそろっています。
公式サイト:http://www.openmx-square.org/
に行くと、「Database of VPS and PAO」という項目があり、そこに疑ポテンシャルのVPSファイルと基底関数セットのPAOファイルがあります。目的の元素を選んでダウンロードしましょう。ダウンロードしたファイルは、決まったディレクトリ構造で格納しておく必要があります。 ここで、OpenMXのバージョンによって、PAOとVPSの格納場所が違います。 正確には、公式webで配布されているPAOとVPSのセットには、2004年,2006年,2011年の三つのバージョンがあり、OpenMXのバージョンと次の対応関係になっています。
OpenMX ver.PAO and VPS ver.PAO and VPS dir.備考
3.62011DFT_DATA11
  • 全元素は準備されていない
  • PAOが最適化されており少ない軌道数かつ短時間で収束する
3.3~3.52006DFT_DATA06
  • 全元素のPAOとVPSが準備されている
  • 2011に比べると収束に時間がかかる

入力ファイルの準備

さて、OpenMXに計算対象の構造を支持するには、入力ファイル(OpenMXのデフォルトサンプルではdat拡張子が使われている)を作る必要があります。ここでは、デフォルトのシリコン結晶の入力ファイルSi8.datを使います。 計算を実行するには、次のようにします。

./openmx Si8.dat >& log &

MPI実行では

mpiexec -np 4 ./openmx Si8.dat >& log &

ある改良によってMKLを有効にするとopenmp並列も非常に高速になります。

./openmx Si8.dat -nt 4 >& log &

MKLの有効化はソースの改変が必要なので、またいつか。