Install OpenFOAM on Ubuntu14.04 by APT
フリーのCFDソフトOpenFOAMは近年いろいろな分野で活用され業績がめざましい。今後のために使えるようになりたい。手始めにOpenFOAM
2.3.0をUbuntu14.04上にインストールする。
OpenFOAMはパッケージマネージャーであるAPTのパッケージが用意されておりそれを利用することでかなり簡単にインストールできる。しかし,Ubuntu14.04はまだ新しく出たばかりなので公式には未対応である。そのため,当初はソースコードからのインストールを試みていた。連休を利用して2日かけて挑戦したが,結局エラーによりうまくいかなかった。ソースコードからのインストールを諦め,どうにかAPTでインストールできないか調査していた。その結果APTを使ってUbuntu14.04にOpenFOAM
2.3.0とParaview
4.1.0をインストールできた。この手順について掲載していく。
まず,公式のAPTによるインストール方法は以下のサイトで説明されている。
Ubuntu
Deb Pack Installation http://www.openfoam.org/download/ubuntu.php
以下の記載の通りUbuntu
14.04は未対応となっている。
Ubuntu
Versions
OpenFOAM
and Paraview are currently available for the following versions of
Ubuntu:
12.04
LTS, codename precise
12.10,
codename quantal
13.04,
codename raring
13.10,
codename saucy
|
しかし,以下のサイトでwouterが解決方法を示している。
Installing
2.3.0 on Ubuntu 14.04 LTS — CFD Online Discussion Forums
http://www.cfd-online.com/Forums/openfoam-installation/138097-installing-2-3-0-ubuntu-14-04-lts.html
これによると,以下のように変数にUbuntu13.10のコードネームsaucyを入れてやればよいとのこと。
VERS=saucy
以下のコマンドを実行するとうまくAPTのリポジトリにOpenFOAMのパッケージが登録される。
VERS=saucy
sudo
sh -c “echo deb http://www.openfoam.org/download/ubuntu $VERS
main > /etc/apt/sources.list.d/openfoam.list”
sudo
apt-get update
ここまではOK。しかし次が厄介だ。公式のガイドに従うと,後は以下のようにapt-get
installするだけとなっている。
sudo
apt-get install openfoam230
sudo
apt-get install paraviewopenfoam410
paraviewのインストールはうまくいく。しかし,openfoamの方はうまくいかない。実行すると以下のように古いバージョンのlibboost-threadとlibopenmpiに依存している注意が表示される。
openfoam230 :
Depends: libboost-thread1.53.0 which is a virtual package.
Depends:
libopenmpi1.3 which is a virtual package.
これらのパッケージはUbuntu
14.04ではサポートされていない。そのため,過去のリポジトリをAPTに登録してインストール可能にする。
例えば,以下のサイトでUbuntuの過去のバージョンのパッケージのリポジトリのURLが掲載されている。
Ubuntu
– パッケージのダウンロードに関する選択
—
libopenmpi1.3_1.4.3-2.1ubuntu3_amd64.deb
http://packages.ubuntu.com/ja/precise/amd64/libopenmpi1.3/download
このサイトからlibopenmpi1.3とlibboost-thread1.53.0の存在するリポジトリを探す。そして,以下のコマンドにより
/etc/apt/sources.listの末尾リポジトリを追加して有効にする。
sudo
sh -c “echo ‘
#
old repository for OpenFOAM
deb
http://cz.archive.ubuntu.com/ubuntu precise main universe
deb
http://cz.archive.ubuntu.com/ubuntu saucy main universe
‘
>> /etc/apt/sources.list”
sudo
apt-get update
これで準備が完了した。以下のコマンドでインストールを始める。
sudo
aptitude install openfoam230 paraviewopenfoam410
apt-getではなくaptitudeを使うことに注意する。aptitudeだと自動的に依存関係をうまく解消するようにインストールプランを立ててくれる。apt-getだとうまくいかない。
openfoam230のインストール時に依存関係を確認してくるのでnを何回か押して以下のような依存関係が表示されたらyを入力してインストールした。ここの選択はいまいちよくわかっていない。
Install the
following packages:
1)
blcr-util [0.8.2-15ubuntu2 (precise)]
2)
libopenmpi-dev [1.4.3-2.1ubuntu3 (precise)]
3)
libopenmpi1.3 [1.4.3-2.1ubuntu3 (precise)]
4)
libptscotch-5.1 [5.1.12b.dfsg-2 (saucy)]
5)
libptscotch-dev [5.1.12b.dfsg-2 (saucy)]
6)
libscotch-5.1 [5.1.12b.dfsg-2 (saucy)]
7)
libscotch-dev [5.1.12b.dfsg-2 (saucy)]
8)
openmpi-bin [1.4.3-2.1ubuntu3 (precise)]
9)
openmpi-checkpoint [1.4.3-2.1ubuntu3 (precise)]
10)
openmpi-common [1.4.3-2.1ubuntu3 (precise)]
Keep the following
packages at their current version:
11)
libopenmpi1.6 [Not Installed]
Leave the
following dependencies unresolved:
- blcr-util recommends blcr-dkms
これで以下のように/optディレクトリにOpenFOAM2.3.0とParaview
4.1.0がインストールされた。
ls
/opt
openfoam230/
paraviewopenfoam410/
後は公式のガイドにあるように以下を.bashrc記入にしてOpenFOAMの変数設定を行っておく。
##
OpenFOAM
export
FOAM_INST_DIR=/opt/
source
$FOAM_INST_DIR/openfoam230/etc/bashrc
なお私の環境ではターミナルを再起動すると以下のエラーが表示された。
gcc:
error: unrecognized command line option ‘–showme:link’
これはmpiccが原因。ローカル環境にMPICHのmpiccが入っていたのが原因の模様。OpenMPIとMPICHでmpiccという名前が競合していたようだ。MPICHのmpiccをパスから除外したら解決した。
参考:–showme
errors — CFD Online Discussion Forums
http://www.cfd-online.com/Forums/openfoam-installation/97581-showme-errors.html
最後に以下のようにしてチュートリアルを実行して動作を確認する。
mkdir
-p ~/run/OpenFOAM/
cp
-r $FOAM_TUTORIALS !$
cd
~/run/OpenFOAM/tutorials/incompressible/icoFoam/cavity
blockMesh
icoFoam
paraFoam
これでOpenFOAM2.3.0とParaview4.1.0がインストールできた。ここからOpenFOAMの入出力などを勉強していこう。