注意:
- salome_mecaを既にインストール・設定ができていることが前提の記事です。
- SL6.5 x86_64です。
- OpenMPI, BLAS, libxml2などのシステムパッケージはインストール済みとします。(基本的にsalome_mecaに同梱のライブラリを使用しますが、libxml2はシステムのものを使用しました)
1.インストール
こちらから3.2.1版をダウンロードして解凍
wget http://code-saturne.org/cms/sites/default/files/releases/code_saturne-3.2.1.tar.gz
tar zxvf code_saturne-3.2.1.tar.gz
cd code_saturne-3.2.1
ここからインストールするには、 install_saturne.pyを叩くか、直接 ./configure;make;make installを叩くか2つやりかたがあります。前者はいろいろ前準備もしてくれるようです。
自分は、後者を選びました。configureオプションのpathは適宜読み替えてください。
> ./configure --with-hdf5=/home/waku/salome/V7_3_0/prerequisites/Hdf5_1810 --w
ith-cgns=/home/waku/salome/V7_3_0/prerequisites/Cgnslib_3134 --with-med=/home/wa
ku/salome/V7_3_0/tools/Medfichier_307 --without-metis --with-scotch=/home/waku/s
alome/V7_3_0/prerequisites/Scotch_5111 --with-libxml2=/usr/lib64/ PYTHON=/home/w
aku/salome/V7_3_0/prerequisites/Python_273/bin/python --with-salome=/home/waku/s
alome/V7_3_0 --disable-static --prefix=/home/waku/Code_Saturne/3.2.1/code_saturn
e-3.2.1/arch/Linux_x86_64 --with-blas-libs=/usr/lib64 --with-blas-includes=/usr/
include/openblas --with-mpi=/usr/local/openmpi_gcc --without-salome-med
> make> make install
※ openmpi, openblasはシステムパッケージ, libxml2もsalome_mecaのライブラリを指定するとビルドエラーになるので、システムのものとしました。最後の、salome-medの記述もビルドエラーになるためです。
2.PATHなどの設定
code_saturneへのパスは、~/.bashrcに記述すればOK。
> vi ~/.bashrc
> export PATH=$PATH:~/Code_Saturne/3.2.1/code_saturne-3.2.1/arch/Linux_x86_64/bin
> source ~/.bashrc
code_satureは、code_saturneコマンドにいろいろオプションをつけて起動するようですが(OFはソルバー毎)、起動前にsalome_mecaのライブラリパスを設定する必要があるようです。
> source ~/salome/appli_V7_3_0/env.d/envProducts.sh
> code_sature [OPTIONS]
3.Driven Cavityのチュートリアル
http://code-saturne.org/cms/documentation/Tutorials
こちらのチュートリアルでお馴染みのdriven Cavityを実行してみます。
(1)スタディケースフォルダの作成
> code_saturne create -s DrivenCavity -c Re1000
> cd DrivenCavity
> ls
MESH POST Re1000
(2)ジオメトリ作成(salome_meca)
- 2DキャビティサイズL=1.0m, density=1.0 kg/m3, viscosity=1e-3 Pa s, top wall velocity = 1.0 m/s
- CSは3D計算なので、XーYの2次元計算の時は、OFと同様にZ方向に1メッシュだけ作成する。
salome_mecaを起動して、geometryモジュールを起動する
スタディファイル(.hdf)を上記のDrivenCavityフォルダに保存しておく
geometryモジュールのnew entity>primitives>boxでDXxDYxDZ=1x1x0.01のサイズのBOXを作成し、適当に名前をつける。
new entities > explodeでfaceを分割する
さらに、同様にnew entities > explodeでedgeに分割する
フェースグループ作成(wall, movingWall, symmetry)
エッジグループ作成(x_edges, y_edges, z_edges)