インストール方法

主なファイルとディレクトリ

  • doc/マニュアルのディレクトリ
    • doc/index.html : 目録ページ

  • src/ : ライブラリのソースコードのディレクトリ

  • example/ : ライブラリ使用例のディレクトリ

  • test/ : ライブラリのビルドのテスト用ディレクトリ

  • configure : ビルド環境設定用スクリプト

要件

以下のものが必要となる.

  • fortran および C コンパイラ

  • MPI ライブラリ (MPI/ハイブリッド並列版を利用する場合)

インストール手順

  1. 以下の場所から .tar.gz ファイルをダウンロードする.

    https://github.com/mitsuaki1987/libtetrabz/releases/

  2. ダウンロードした .tar.gz ファイルを展開し, 出来たディレクトリに入る.

    $ tar xzvf libtetrabz-version.tar.gz
    $ cd libtetrabz-version
    
  3. ビルド環境を設定する.

    $ ./configure --prefix=install_dir
    

    これにより, ビルドに必要なコンパイラやライブラリ等の環境のチェックが行われ, Makefile等が作成される. ただし install_dir はインストール先のディレクトリの絶対パスとする (以後各自のディレクトリ名で読み替えること). なにも指定しないと /use/local/ が設定され, 後述の make install/usr/local/lib 内にライブラリが置かれる (したがって, 管理者権限がない場合には install_dir を 別の場所に指定しなければならない). configure にはこの他にも様々なオプションがあり, 必要に応じて用途や環境に合わせてそれらを使用する. 詳しくは configureのオプション を参照.

  4. configure の実行が正常に行われ, Makefile が生成された後は

    $ make
    

    とタイプしてライブラリ等のビルドを行う.これが成功したのちに

    $ make install
    

    とすると, ライブラリが install_dir/lib に置かれる. make install をしなくても, ビルドをしたディレクトリ内にあるライブラリやミニアプリを使うことは可能であるが, 使い勝手がやや異なる.

  5. 共有リンクを行ったプログラムの実行時にライブラリを探しにいけるよう, 環境変数 LD_LIBRARY_PATH にlibtetrabzをインストールしたディレクトリを追加する.

    $ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:install_dir/lib
    
  6. また, example/ 以下のライブラリ使用例のプログラムもコンパイルされる.

    example/dos.x : 立法格子シングルバンドタイトバインディングモデルのDOSを 計算する. ソースコードは dos.f90

    _images/dos.png

    dos.xを使って計算した, 立法格子タイトバインディング模型の状態密度. 実線は十分多くの \(k\) 点を利用した時の結果. " \(+\) ", " \(\times\) "はそれぞれ \(8\times8\times8 k\) グリッドでの 線形テトラへドロン法および最適化テトラへドロン法の結果.

    example/lindhard.x : リントハルト関数を計算する. ソースコードは lindhard.f90

    _images/lindhard.png

    lindhard.xを使って計算したLindhard関数. 実線は解析的な結果. " \(+\) ", " \(\times\) "はそれぞれ \(8\times8\times8 k\) グリッドでの線形テトラへドロン法および最適化テトラへドロン法の結果.

configureのオプション

configureには多数のオプションと変数があり, それらを組み合わせて指定する. 指定しない場合にはデフォルト値が使われる.

$ ./configure --prefix=/home/libtetrabz/ --with-mpi=yes FC=mpif90

おもなものを次に挙げる.

---prefix

デフォルト: ---prefix=/usr/local/. ライブラリ等のインストールを行うディレクトリツリーを指定する.

--with-mpi

デフォルト: --with-mpi=no (MPIを用いない). MPIを用いるか (--with-mpi=yes), 否かを指定する.

--with-openmp

デフォルト: --with-openmp=yes (OpenMPを用いる). OpenMPを用いるか否か (--with-openmp=no) を指定する.

--enable-shared

デフォルト: --enable-shared. 共有ライブラリを作成するか否か

--enable-static

デフォルト: --enable-static. 静的ライブラリを作成するか否か.

FC, CC

デフォルト: システムにインストールされているfortran/Cコンパイラをスキャンして, 自動的に設定する. --with-mpi を指定した時にはそれに応じたコマンド (mpif90 等)を自動で探し出して設定する. configure の最後に出力される FC が望んだものでは無かった場合には ./configure FC=gfortran のように手で指定する.

--help

このオプションを指定した時には, ビルドの環境設定は行われず, 上記を含めたすべてのオプションを表示する.