いわて駐在研究日誌

OpenCAE、電子工作、R/C等、徒然なるままに

Code_Saturne 1

注意:

  • 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)