LoginSignup
1
2

More than 3 years have passed since last update.

Ubuntu 18.04.5 LTSへのOpenMXのインストール

Last updated at Posted at 2020-09-15

OpenMXという第一原理計算ソフトがあります。第一原理計算とは、固体の位置情報から電子状態を計算する枠組みです。密度汎関数理論に従い、多体の電子状態が原理的には求まります。ただし、実際の計算では近似を色々かけているので、人によっては第一原理計算とは呼ばない人もいるかもしれません(化学分野の人は特に)。ともかく、ここでは第一原理計算ソフトと呼ぶことにします。

このソフトをUbuntu 18.04.5 LTSにインストールしようとしたら思いのほかはまりましたので、解決方法をシェアすべくここに書きたいと思います。
まず、日本語マニュアルのmakefileの例はgfortranの場合には間違っているので、気をつけてください。

[注]mpirunで2並列にしたら落ちましたので、もしかしたらまだ間違っているかもしれません。誰か知っている方ご協力していただけると助かります。

VirtualBoxを用意して、まっさらなUbuntu 18.04.5 LTSに対してOpenMXをインストールした時の作業記録をここに残します。
以下はターミナルで実行したコマンドです。

wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sudo sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
sudo apt-get update
sudo apt-get install intel-mkl-2020.0-088
sudo apt install gfortran
sudo apt install emacs
sudo apt install openmpi-doc openmpi-bin libopenmpi-dev
echo "source /opt/intel/mkl/bin/mklvars.sh intel64" | cat >> ~/.bashrc
sudo apt install libfftw3-3 libfftw3-dev libfftw3-doc
wget http://t-ozaki.issp.u-tokyo.ac.jp/openmx3.9.tar.gz
wget http://www.openmx-square.org/bugfixed/20Feb11/patch3.9.2.tar.gz
tar -xvf openmx3.9.tar.gz 
cp ./patch3.9.2.tar.gz openmx3.9/source/
cd openmx3.9/source
tar zxvf patch3.9.2.tar.gz
mv kpoint.in ../work/

何をしたかと言いますと、

  • MKLのインストール
  • gfortranのインストール
  • emacsのインストール
  • openmpiのインストール
  • FFTW3のインストール
  • OpenMXのダウンロード
  • OpenMXのパッチを当てる

です。
次に、Makefileをいじります。

emacs makefile &

makefileは

MKLROOT = /opt/intel/mkl
CC = mpicc -O3  -fopenmp 
FC = mpif90 -O3  -fopenmp
LIB = -lgfortran -lmpi_mpifh -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_scalapack_lp64 -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -lgomp -lpthread -lm -ldl -lfftw3

しておけばOKです。
このままだとmakeがインストールされていないので、

sudo apt install make

をします。
そして、

make all

をします。
このmakeですが、Ubuntu特有なのか面白いことが起きます。
途中で、

 `sqrt' に対する定義されていない参照です

みたいなエラーを吐いて落ちます。
どこで落ちたかみてみると、

mpicc  -O3  -fopenmp  -I./elpa-2018.05.001 -g   gcube2oned.c   -o gcube2oned

でです。
sqrtが定義されていない、というエラーはmathのライブラリーがリンクされていない時に起こります。
ですので、-lmオプションをつければ良いのですが、Ubuntuの場合、なぜか最後尾に-lmをつけないと同じエラーが出ます。
したがって、

mpicc  -O3  -fopenmp  -I./elpa-2018.05.001 -g   gcube2oned.c   -o gcube2oned -lm
make all

としましょう。
これで、この部分だけちゃんと-lmでコンパイルし、その続きをmake allでできます。

最後に、

make install

します。

動作確認には、

cd ../work
mpirun -np 1 openmx Methane.dat -nt 1 > met.std
cat met.std 

をして、

The calculation was normally finished.

が出ていれば大丈夫でしょう。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2