---注意---
当ブログ筆者はQuantum Espressoのチュートリアルをクリアできた程度の知識なので、シミュレーションデータの正確性などの物性に関する質問には答えられません。
-----------
1. 参考資料
参考にしたブログを紹介します。
・インストールからチュートリアルまで
・QEの詳しい参考資料
|
・インプットファイルの作成や、QuantumEspressoとBoltzTrapの連携など
2. 目的
Quantum Espressoが実行できたので、その方法の記録。
当ブログ筆者は工学部だが、半導体等の電子物性解析ソフトに触れてみたかった。
3. 実行環境と準備
実行するPCは、可能な限り多い計算スレッドと大きなRAMが良い。特に、RAMの容量によってはエラーが出てしまうので注意。
・使用したPC
CPU : Xeon e3-1240 V3 (4C 8T 3.4GHz)
RAM : 16 GB
GPU : GTX650
OS : Ubuntu 18.04.5 LTS (64 bit)
HDD : 500 GB
---< 追記, 20201108>---
Quantum Espresso 6.5でビルド失敗( Ubuntu 20.04 LTSでも失敗)
スクリプトの構文ミスが原因かも。
QE 5.4 を使う
・事前に必要なこと
Quantum Espresso本体のダウンロード
https://www.quantum-espresso.org/download
解凍(展開)して適当な場所に置く
(今回は"q-e-qe5.4"のファイルで、置き場所は"/home/a/hatena_QE/")
ビルド用のアプリをapt-getで入れる
$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get install build-essential
4. Quantum Espressoのビルド
オプションはQEのマニュアルを見て適時追加。当ブログでは動けばいいのでオプションを追加しない。
cd でq-e-qe5.4ファイルに入る
$ cd /home/a/hatena_QE/q-e-qe5.4
コンフィグ設定を行い、ビルドする。
$ ./configure
$ make all
ビルドオプションも存在し、指定したパッケージのみをビルドすることができる。今回は"all"としていて、QEに含まれるすべてのパッケージをビルドしている。
ビルドは数十分かかることもある。
q-e-qe5.4ファイル内の"bin"を見ると、計算用の実行ファイルが作成されている。
---"make all "で error がでた場合---
・Quantum Espressoファイル内で"make clean"を行う。
これで、先ほどの"make all"で作成されたファイルが削除される。
原因と解決方法として、
・build-essentialを入れていない
$ sudo apt-get install build-essential をする
・Quantum Espressoファイルを権限がないところに入れた
(ファイルを/home/<ユーザー名>に移す)
・OSでHDDデータ操作がロックされている 。
再起動する
・OSのインストール自体が失敗している。
再インストールする
が考えられる。特に、VirtualBoxでは下2項目が生じやすい。
これでも解決しないのなら、当ブログ以外で調べてほしい。
-------------
errorが出ていないなら、ビルドが成功している。
5. パスを通す
作成したファイルにパスを通す。
/home/<ユーザー名> の.profile か.bashrcをテキストエディタで開く。見当たらない場合は、ファイルマネージャーウィンドウ内で右クリックして、「隠しファイルを表示」をチェック。
.profile (.bashrc )の最下行に以下の文を追加する。
export PATH=$PATH:/home/a/hatena_QE/q-e-qe-5.4/bin/:
export PATH=$PATH:~/: が既にあるのなら、その後ろに /home/a/hatena_QE/q-e-qe-5.4/bin/: を追加。
6. チュートリアルをやる
1.参考資料にリンクがあるので、ぜひやってみよう。ここでは、当ブログ筆者の失敗例を紹介する
・peseudoファイルの参照を間違えた。
.inファイル内の項目 &control 内
peseudo_dir = '../peseudo/' ,
の 赤文字部分を、ダウンロードしたpeseudoファイルのあるパスに書き換える。次に、
ATOMIC_SPECIES
C 12.0107 C.pz-van_ak.UPF
の 赤文字部分を、ダウンロードしたpeseudoファイル名に書き換える。
・計算が最後まで実行されない。エラーログを見たら、” Too many bands are not converged from nscf calculation
”と書いてある。
nscf計算で多発した。RAM容量が足りないときに生じる(要検証)。
よくあるエラーなので、次の解決法が知られている。
-
&system 内の ecutwfc を増やす。(例 ecutwfc = 60 から ecutwfc = 160)
-
&electron 内の conv_thr を減らす。(例 conv_thr = 10d-14 から conv_thr = 10d-8)
参考:
http://www.democritos.it/pipermail/pw_forum/2011-September/022049.html
おまけ1:Quantum Espressoの入力ファイル作成はどうしたら?
ありがたいことに、次のブログで紹介されている。
おまけ2:Boltz Trapのインストール
Boltz Trapは次のリンクからダウンロードする。
ダウンロードしたファイルを解凍し、適当な場所に移動。
端末で解凍したファイルへ行く。
$ cd /home/a/boltzTrap-1.2.5/src
ここから、QuantumEspress同様にビルドするのだが、BoltzTraPの参照しているアプリは古すぎて別のアプリに統合されていおり、現在のUbuntuでは単体でインストールできない。このため、統合したアプリをインストールし、Makefileを編集し統合先のアプリを参照させる。
まず、統合したアプリ(libatlas3-base liblapack3-base)をインストールする。
$ sudo apt-get install libatlas3-base liblapack3-base -y
ここで、インストール先のパスをコピーする
LIBS = -lipack -lblas
の-lipack -lblasをインストール先に書き換える。
今回は、
LIBS = /usr/lib/x86_64-linux-gnu/atlas/libblas.so.3 /usr/lib/x86_64-linux-gnu/atlas/libblapack.so.3
となる。編集後、保存して閉じ、
$ make
とすると、ビルドが始まる。
あとは、srcに実行ファイルがあるのでここにパスを通す。
おまけ2のおまけ:BoltzTrapの基礎
当ブログ筆者の失敗事例である。
BoltzTrapを実行する時、そのディレクトリ名はインプットファイル名と一致させる必要がある。
例えば、インプットファイルを「Mg2Si.intrans」としたときに、インプットファイルは「Mg2Si」というファイルの中にある必要がある。
画像のような状態で、
$ cd /home/a/test/20201018/Mg2Si
$ x_trans BoltzTraP
をすると計算が実行する。
終わり
本記事はUbuntuの基本的な扱い方まで書いてあり、有識者にははがゆい記事という印象を持つかもしれません。ゆるして。