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

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

DEXCS2012-Salomeの有効活用:CFD/Code_Saturneの導入手順(4)

2013年07月14日 04時00分25秒 | OpenCAE活用
これまで説明したCode_Saturneの導入は以下の2種類ですが、いずれも構築時にSalomeとの連携を設定していないため、SaturneGUIでの流体解析は可能ですが、SalomeをGUIとして用いるCFDSTUDYの機能が利用できません。
1: Installerを用いて簡易コンパイルを行う  2: Synampticを用いてパッケージ導入を行う

そこで本解説では以下の情報を手本にして、Salomeと連携可能なCode_Saturneの導入方法を検討します。なお、導入の前提や注意などは、導入手順(1)に示した通りなので、確認しておいてください。
https://sites.google.com/site/codeastersalomemeca/home/code_saturne/code_saturnenoinsutoru

■ インストールの確認

まず初めに、DEXCS2012-SalomeのSalomeに連携させるため、インストール先を確認しておきます。
・Salome-Mecaは、/opt/salomeにインストールされ、ここに、2つのディレクトリSALOME-MECA-2013.1-LGPL, appli_V6_6_0があります。

■ ダウンロードと展開

以下のサイトからCode_Saturneのソースパッケージをダウンロードします。2013/07時点での最新の公開版は3.1になるので、ページの最初の行にある"here"よりダウンロードします。45MB程度のソースパッケージなので暫く待ちます。DEXCSでChromiumブラウザを用いた場合は、ホームのDownloadsに、code_saturne-3.1.0.tar.gzが保存されます。
http://code-saturne.org/cms/download/3.1

以下の手順で展開して、~/Downloads/code_saturne-3.1.0でインストール作業を進めます。この中にINSTALLファイルがあり、これを参考にして進めます。
なお以下の手順ではコマンド入力を基本にしており、Ubuntuの端末を利用します。DEXCSでは上部のバーかアプリケーション→アクセサリ→端末で利用できます。複数起動して目的に応じて使い分けると便利です。
$ cd ~/Downloads
$ tar xvfz code_saturne-3.1.0.tar.gz
$ cd code_saturne-3.1.0; ls

■ インストール環境の準備

DEXCSの状態でインストールを進めるためには、以下のツールの追加が必要です。アプリケーション→システムツール→システム管理→Synapticパッケージマネージャを起動します。ログインユーザーのパスワードを入力してツールが起動したら、再読込を押して最新の状態にしておきます。以下の項目を、検索して、インストール指定して、適用します。

g++:検索 g++ (4.6.3) → g++ g++4.6 libstdc++6-4.6-dev (3)
gfortran:検索 gfortran (4.6.3) → gfortran gfortran-4.6 (2)
opnempi:検索 openmpi (1.4.3) → libopenmpi-dbg libopenmpi-dev (2) + 関連ツール(1)
cmake:検索 cmake (2.8.7) → cmake cmake-data cmake-dbg (3) + 関連ツール(2)
PyQt4:検索 pyqt4 (4.9.1) → pyqt4-dev-tools (1)

■ コンパイルとインストールの実行

まずDEXCS-SalomeにインストールされているSalome-Mecaのライブラリへの設定情報を利用するために、以下を実行する。
$ cd ~/Downloads/code_saturne-3.1.0
$ source /opt/salome/appli_V6_6_0/env.d/envProducts.sh

インストール設定を行うために、以下のconfigureを実行する。なお各ライブラリのパスはDEXCS2012-Salomeに合わせています。
下記のコマンドは行を分けて記述していますが、1つのコマンドとして実行するもので、各行の最後の'\'は継続を表しています。
以下の設定では、インストール先は/opt/code_saturne-3.1.0です。

$ ./configure --with-mpi=/usr/lib/openmpi \
--with-libxml2=/opt/salome/SALOME-MECA-2013.1-LGPL/prerequisites/Libxml2_278 \
--with-metis=/opt/salome/SALOME-MECA-2013.1-LGPL/prerequisites/Metis_40 \
--with-scotch=/opt/salome/SALOME-MECA-2013.1-LGPL/prerequisites/Scotch_5111 \
--with-hdf5=/opt/salome/SALOME-MECA-2013.1-LGPL/prerequisites/Hdf5_188 \
--with-cgns=/opt/salome/SALOME-MECA-2013.1-LGPL/prerequisites/Cgnslib_3134 \
--with-med=/opt/salome/SALOME-MECA-2013.1-LGPL/tools/Medfichier_306 \
--with-salome=/opt/salome/SALOME-MECA-2013.1-LGPL \
--prefix=/opt/code_saturne-3.1.0

最後に、以下の様に表示されたら、インストール設定が完了です。これよりMakefileが生成されます。
The package has been configured. Type: make make install
To generate and install the Code_Saturne kernel

それでは指示に従って、コンパイルとインストールを進めます。まずはコンパイル。
$ make
暫く待ちます。エラーがなく「make[1]: ディレクトリ `/home/dexcs/Downloads/code_saturne-3.1.0' から出ます」と表示されたら成功です。

次にインストールを行います。
$ make install
暫く待ちます。エラーがなく「make[1]: ディレクトリ `/home/dexcs/Downloads/code_saturne-3.1.0' から出ます」と表示されたら成功です。

それでは、インストールの結果を以下の手順で確認します。code_saturneが完成したプログラムです。
$ cd /opt/code_saturne-3.1.0/bin; ls -l

■ Code_Saturneの起動の準備

まず最初に、この状態ではCode_SaturneをSalome-Mecaのモジュールとして起動した場合、モジュールが少ないのでモジュールを追加しておきます。
以下の手順で/opt/code_saturne-3.1.0/lib/python2.6/site-packages/code_saturne/cs_salome.py を開き、82行目を書き換える。

変更前 : default_modules = "GEOM,SMESH,MED,CFDSTUDY,PARAVIS,VISU"
変更後 : default_modules = "GEOM,SMESH,MED,CFDSTUDY,PARAVIS,VISU,JOBMANAGER,YACS,EFICAS,ASTER,EUROPLEXUS,HEXABLOCK"
$ cd /opt/code_saturne-3.1.0/lib/python2.6/site-packages/code_saturne
$ vi cs_salome.py

次にCode_SaturneをSalome-Mecaと連携して起動する設定にしてあるので、起動時にSalome-Mecaのライブラリのパスを、以下の手順で設定しておきます。
$ cd /opt/code_saturne-3.1.0/bin
$ vi CodeSaturne
内容:
#!/bin/bash
source /opt/salome/appli_V6_6_0/env.d/envProducts.sh
/opt/code_saturne-3.1.0/bin/code_saturne $*
$ chmod a+x CodeSaturne

動作確認を、以下の様にしてみます。
$ ./CodeSaturn ⇒ Code_Saturneの利用方法が表示されます。
$ ./CodeSaturn gui ⇒ SaturneGUIが起動されます。
$ ./CodeSaturn salome ⇒ Salomeが起動して、モジュールにはCFDSTUDYがあります。

ちなみに、上記で起動されるSalomeは、Salome-Mecaと起動方法が異なるため、日本語化はされていません。

インストール先は、/opt/code_saturne-3.1.0です。この中のbinに、CodeSaturne, code_saturne ple-configがあり、「CodeSaturne」が起動用スクリプトになります。

以下の記述を最後に追加して、コマンド実行パスを設定しておきます。
$ cd ~
$ vi .bashrc
$ source .bashrc

===== .bashrc =====
# code_saturne
export PATH=/opt/code_saturne-3.1.0/bin:$PATH
===================

■ 文書と例題の移動

インストールが完了したら、文書:docsと例題:examplesを、Code_Saturneのファイル保存用ディレクトリ~/CodeSaturneFilesに移動しておきます。
$ cd ~
$ mkdir CodeSaturneFiles
$ cd ~/Downloads/code_saturne-3.1.0
$ cp -r docs examples ~/CodeSaturneFiles
$ cd ~/CodeSaturneFiles; ls

他のファイルは実行に必要ないので、ここでは削除します。以下の手順で行います。
$ cd ~/Downloads
$ rm -r code_saturne-3.1.0 code_saturne-3.1.0.tar.gz

はお、上記の例題を実行するとき、Installerで構築した場合には、code_saturne createでケースファイルを生成して作られたSaturneGUIではなく、上記のCodeSaturne guiとしてツールを起動します。