moku-moku

Elk

オープンソースの全電子計算ソフトウェアです。

インストール

以下の環境におけるインストール手順です。

Libxcのコンパイル

Elkを使う動機の一つに、様々な交換相関汎函数を利用することが挙げられます。 その実現のためにLibxcを利用します。

公式サイトから最新版ソースコード一式をダウンロードします。 執筆時点の最新版は6.2.2です。 セキュリティ設定の問題からか、ブラウザやウィルス対策ソフトウェアの組み合わせによってはダウンロードできない場合があるようです。 ダウンロードできない場合は、ブラウザを変えるなどお試しください。

Linuxの標準的な手順でインストールします。 oneAPIを利用する場合は、Cコンパイラのコマンドを指定します(CC=icx)。 インストール先は、ホームディレクトリ直下のlocalとしてみます。

tar xf libxc-6.2.2.tar.gz
cd libxc-6.2.2
./configure CC=icx --prefix=$HOME/local
make install

$HOME/local/libディレクトリに、ライブラリが生成されています。

$ ls $HOME/local/lib
libxc.a  libxcf03.a  libxcf03.la  libxcf90.a  libxcf90.la  libxc.la  pkgconfig

Elkのコンパイル

続けてElk本体をコンパイルします。

公式サイトからソースコードをダウンロードします。 執筆時点の最新版は10.0.15です。

tar xf elk-10.0.15.tgz
cd elk-10.0.15

make.incを編集します。 コンパイラは、最初からoneAPI(Intelコンパイラ)を利用するように設定されています。 Libxcを有効にするために、

#LIB_LIBXC = libxcf90.a libxc.a
#SRC_LIBXC = libxcf90.f90 libxcifc.f90

の各行先頭#を消去してください。

インストール済みLibxcから、$HOME/local/libにあるlibxc.alibxcf90.aの二つを、Elkのsrcディレクトリにコピーします。

cp $HOME/local/lib/libxcf90.a src
cp $HOME/local/lib/libxc.a src

以上で準備が整いました。 makeコマンドでコンパイルします。

make

srcディレクトリにelkコマンドが生成されていることを確認してください。

$ ls src/elk
src/elk