OSは Ubuntu 20.04 を使いました。 ====== 必要なソフトウェア ====== 事前にMPIのライブラリをインストールしてください。 (一応、設定ではserial計算も可能です。) ====== QuantumESPRESSOのインストール ====== Quantum ESPRESSOのパッケージはhttp://www.quantum-espresso.org/からダウンロードできます。 ページ上部メニューから[DOWNLOAD]を選び、横のメニューバーにある [Download page] からダウンロードできます。 ダンロードしたファイルはホーム・ディレクトリに保存します。 Linuxのターミナル(端末)を開き、次のように入力してダウンロードしたファイルを解凍し、解凍したディレクトリの中に入ります。 $ tar -xzvf qe-6.7-ReleasePack.tgz $ cd qe-6.7 あるいはGitHub https://github.com/QEF/q-e/ から直接入手できます $ sudo apt install git $ git clone https://github.com/QEF/q-e.git $ cd q-e 以下では ~/qe-6.7/ にQuantumESPRESSOがインストールされるとします。 Quantum ESPRESSOのインストールに必要な設定をします。 $ ./configure F90=gfortran F77=gfortran CC=gcc MPIF90=mpif90 --enable-openmp --enable-parallel $ GNUコンパイラ $ ./configure MPIF90=mpiifort F90=ifort F77=ifort CC=icc --enable-openmp --enable-parallel --with-scalapack=intel # Intel OneAPI $ make all * --enable-openmp ... OpenMPを使用した並列計算を自動的に行います * --enable-parallel ... MPIを使用した並列計算を行います。実はこのフラグをつけなくてもデフォルトでMPIを使用するので、MPIを使用したくない場合は --enable-parallel=no としてください。 * --with-scalapack=intel ... Intelコンパイラに同梱のScalapackを使用します * 詳しくはインストールマニュアルを参照してください。 GNUコンパイラを使う場合でも、MKLが入っていれば自動でMKLを使用します。 makeには時間がかかるので、のんびり終わるのを待ちます。 コンパイルが終了したら、ホーム・ディレクトリにある.bashrc を編集します。 $ gedit ~/.bashrc でファイルを開き、ファイルの一番最後の行に次の一文を書き加えます。 export PATH=$PATH:/home/username/qe-6.7/bin/ ファイルを保存、終了して端末に戻り、 .bashrc を読み込んでインストールが完了します。 $ source ~/.bashrc あるいはコンピュータを再起動することでもインストールが完了します。 ====== XCrySDenのインストール ====== XCrySDenは結晶構造やフェルミ面、電荷密度分布といったものを3Dで表示するソフトです。 入れておくと大変便利です。 UbuntuなどのDebian系でapt-getが使えれば、インストールは極めて簡単です。 端末を開いて $ sudo apt-get install xcrysden でインストールが完了します。 ====== いろいろな汎関数を使いたい ====== * 密度汎関数理論で使われる交換相関汎関数は、現在もいろいろな形のものが日々考案されています。 * **通常はQuantumESPRESSO本体に含まれている交換相関汎関数で十分です** * 汎関数の種類は非常に多く、シチュエーションによってどの汎関数を選べば良いのかという明確な指針も存在しないため、このオプションは専門家向けです * 事前にLibxcをインストールしておけば、configureを次のようにしてLibxcに実装されている汎関数を使用できます ./configure --with-libxc --with-libxc-prefix='/opt/etsf' * /opt/etsf はLibxcをインストールしたディレクトリで、デフォルトから変更した場合はそれに合わせてください * 使用できる汎関数の種類の一覧は ~/qe-6.7/Modules/funct.f90 のコメントに書いてあります