DALAB情報発信用ブログ:OpenCAE+GPGPU+Peridynamics編

DALABで行っている研究活動の中で、OpenCAEやGPGPUや破壊解析の取り組みについてまとめてゆきます。

OpenFOAM-2.0.0をDEXCSに導入する:ソースコンパイル(1)

2011年06月28日 23時03分54秒 | OpenCAE活用
ここでは、OpenFOAM-2.0.x をソースコードからコンパイルするために、Git Repository を用いた方法を説明します。若干の手間がかかりますが、最新の状態で OpenFOAM が利用できます。説明は、最低限必要な部分のみとします。なお用いる環境は、DEXCS2010 for OpenFOAM 64bit です
なお Git は、Linux の開発で用いられたバージョン管理ツールで、最新のソースコードを入手するために利用しています。

■ Git Software の入手
まずは Git を入手します。管理者権限でインストールするので、sudo を用いて、以下のコマンドを実行します。
$ sudo apt-get install git-core
また下記の git のダウンロードで、インストールする /home/dexcs/OpenFOAM は、/opt/OpenFOAM にリンクがありこの権限を変更するために、以下のコマンドを実行します。
$ sudo chmod 777 /opt/OpenFOAM

■ ソースコードのダウンロード
ソースコードを保存するディレクトリを決めます。ここでは通常ユーザーの dexcs の権限で、/home/dexcs/OpenFOAM に保存します。なお、DEXCS2010 の OpenFOAM-1.7.x もここに保存されています。コマンド git によるダウンロードをしばらく待ちます。
$ cd /home/dexcs/OpenFOAM
$ git clone git://github.com/OpenCFD/OpenFOAM-2.0.x.git
新しく /home/dexcs/OpenFOAM に OpenFOAM-2.0.x が作られています。この中で作業を継続します。なおここでは git pull しても、既に完了したメッセージが出るだけでした。
$ cd OpenFOAM-2.0.x
$ git pull
次に ThirdParty-2.0.0.gtgz をダウンロードしますが、これは直接にウエブ http://www.openfoam.com/download/source.php から入手します。ホームディレクトリに保存されていたら、/home/dexcs/OpenFOAM に移動して、以下のコマンドで、展開してからディレクトリ名を変更しておきます。パッケージのファイルは削除しても構いません。
$ tar xzf ThirdParty-2.0.0.gtgz
$ mv ThirdParty-2.0.0 ThirdParty-2.0.x

■ 構築に必要な条件
ここで用いる OpenFOAM-2.0.x と ThirdParty-2.0.x は Ubuntu 10.04 で動作しますので、DEXCS2010 は利用できます。
構築に必要なツールをインストールするために、以下のコマンドを実行します。確認には y で進めます。
$ sudo apt-get install build-essential flex cmake zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libxt-dev
さらに OpenMPI などに関連して、以下のコマンドを実行します。
$ sudo apt-get install libscotch-dev libopenmpi-dev

■ 環境変数の設定
ここでは、構築に必要な環境変数の設定を、自分の .bashrc に設定します。エディタで ~/.bashrc を開いて、以下の記述を追加します。
source /opt/OpenFOAM/OpenFOAM-2.0.x/etc/bashrc
これを有効にするために、以下のコマンドを実行します。
$ source $HOME/.bashrc

■ 構築システムの確認
OpenFOAM をコンパイルするための確認を行います。以下のコマンドを実行します。
$ foamSystemCheck
結果として、System check: PASS と表示されれば、先に進められます。
$ gcc --version
バージョンが 4.4.3 と表示され、4.4.? ならば良いです。
$ flex --version
バージョンが表示されたら、インストールされているので良いです。

さて、次は実際にコンパイルをします。お楽しみに!