13
2011.11.27 CAE ソリューションズ 1 OpenFOAM-2.1.1 利用手引き 1. 概要 OpenFOAM™は OpenCFD Foundation 1 が公開・配布しているオープンソースソフトウエアで す。各種ドキュメントは OpenCFD Foundation のホームページに掲載されています。 なお, User’s Guide Programmer’s Guide については,本センターサービスアプリケーション オンラインマニュアル一覧ページより閲覧可能です。 2. 環境設定(以下実行例の”%”はプロンプトとなります) 1) OpenFOAM の環境設定 OpenFOAM を実行する前に,以下のコマンドを実行してください。 ログインシェルが csh の場合 % source /usr/local/OpenFOAM/setupOpenFOAM-2.1.1.csh ログインシェルが bash の場合 % source /usr/local/OpenFOAM/setupOpenFOAM-2.1.1.sh その他のシェルをご利用の場合は,/usr/local/OpenFOAM/setupOpenFOAM-2.1.1 ファイルを参考に利用しているシェルに合わせた環境設定ファイルを作成してください。 ParaView 2 OpenFOAM が標準でサポートするオープンソースの可視化ソフトウエア です。このほかに OpenFOAM には Ensight FieldViewtecplot 等の商用可視化ソフ トで可視化するためのデータコンバート用コマンド 3 が用意されています。詳細は User’s Guide を参照してください。 "Base configuration ok." "Critical systems ok." と表示されれば,環境設定が成功し OpenFOAM が使用可能となります。 1 http://www.openfoam.org/ 2 http://www.paraview.org/ 3 foamToEnsight foamToFieldview9foamToTecplot360

OpenFOAM-2.1.1 利用手引き - 学際大規模計算機シス … cd $FOAM_UTILITIES 付属ツールのソースコード src cd $FOAM_SRC クラスライブラリのソースコード

  • Upload
    buihanh

  • View
    229

  • Download
    4

Embed Size (px)

Citation preview

2011.11.27 CAE ソリューションズ

1

OpenFOAM-2.1.1 利用手引き

1. 概要

OpenFOAM™は OpenCFD Foundation1 が公開・配布しているオープンソースソフトウエアで

す。各種ドキュメントはOpenCFD Foundationのホームページに掲載されています。

なお,User’s GuideとProgrammer’s Guideについては,本センターサービスアプリケーション

のオンラインマニュアル一覧ページより閲覧可能です。

2. 環境設定(以下実行例の”%”はプロンプトとなります)

1) OpenFOAMの環境設定

OpenFOAMを実行する前に,以下のコマンドを実行してください。

ログインシェルが cshの場合

% source /usr/local/OpenFOAM/setupOpenFOAM-2.1.1.csh

ログインシェルがbashの場合

% source /usr/local/OpenFOAM/setupOpenFOAM-2.1.1.sh

その他のシェルをご利用の場合は,/usr/local/OpenFOAM/setupOpenFOAM-2.1.1

ファイルを参考に利用しているシェルに合わせた環境設定ファイルを作成してください。

ParaView2は OpenFOAM が標準でサポートするオープンソースの可視化ソフトウエア

です。このほかにOpenFOAMにはEnsightやFieldView、tecplot等の商用可視化ソフ

トで可視化するためのデータコンバート用コマンド3が用意されています。詳細は User’s

Guideを参照してください。

"Base configuration ok."

"Critical systems ok."

と表示されれば,環境設定が成功しOpenFOAMが使用可能となります。

1 http://www.openfoam.org/ 2 http://www.paraview.org/ 3 foamToEnsight、foamToFieldview9、foamToTecplot360等

2011.11.27 CAE ソリューションズ

2

2) ParaViewの起動確認

OpenFOAM標準の可視化ツールParaViewの起動を確認します。(注意:ParaView

実行には,Xアプリケーションを実行できる環境が必要です)

コマンドプロンプトからparaviewコマンドを実行して起動します。

% paraview

2011.11.27 CAE ソリューションズ

3

3) 環境変数および alias の設定値

上記2-1)の環境設定により、OpenFOAM 固有の環境変数と alias の設定が行われています。

以下に,主要な設定値を示します。

表 1 よく使用する環境変数の設定値

環境変数 設定値 説明

FOAM_RUN /home/<利用者番号>/OpenFOAM/<利用者番号>-2.1.1/run 作業用ディレクトリ

FOAM_TUTORIALS /usr/local/OpenFOAM/OpenFOAM-2.1.1/tutorials チュートリアル

FOAM_SOLVERS /usr/local/OpenFOAM/OpenFOAM-2.1.1/applications/solvers ソルバのソースコード

FOAM_UTILITIES /usr/local/OpenFOAM/OpenFOAM-2.1.1/applications/utilities 付属ツールのソースコード

FOAM_SRC /usr/local/OpenFOAM/OpenFOAM-2.1.1/src クラスライブラリのソースコード

表 2 よく使用するコマンド(alias 設定値)

コマンド alias の設定値 説明

run cd $FOAM_RUN 作業用ディレクトリ

tut cd $FOAM_TUTORIALS チュートリアル

sol cd $FOAM_SOLVERS ソルバのソースコード

util cd $FOAM_UTILITIES 付属ツールのソースコード

src cd $FOAM_SRC クラスライブラリのソースコード

alias で設定されたコマンドは頻繁に参照するディレクトリへの移動を容易にするためのものです。run 以外は、書き込み権限を与えられて

いないディレクトリに移動しますので取り扱いにはご注意ください。

2011.11.27 CAE ソリューションズ

4

3. 作業ディレクトリの作成

OpenFOAMは標準の作業ディレクトリを環境変数 FOAM_RUN に設定しています:。

($FOAM_RUN=/home/<利用者番号>/OpenFOAM/<利用者番号>-2.1.1/run)

以下のコマンドを実行し,作業ディレクトリを作成します。

% mkdir –p $FOAM_RUN

このディレクトリには p3 表 2 に記載した alias 設定の”run”コマンドで移動することができま

す。

4. OpenFOAM付属例題の実行

OpenFOAM付属の例題をホームディレクトリにコピー

OpenFOAM の例題は$FOAM_TUTORIALS に設定されたディレクトリに格納されています。

$FOAM_TUTORIALS は共用領域 /usr/local 下にあり参照のみ許可されていますので、以下のコ

マンドを実行し,ユーザホームディレクトリ下の$FOAM_RUNにコピーして使用します。

% cp –r $FOAM_TUTORIALS $FOAM_RUN

この操作により、次のディレクトリが作成されます。(サイズは約52MBです。)

$FOAM_RUN/tutorials

例題はサブディレクトリに分類されています。

サブディレクトリ下の項目は <ソルバ名>/<ケースファイル名> となっています。

2011.11.27 CAE ソリューションズ

5

たとえばディレクトリ incompressibleには等温非圧縮流を扱うソルバの例題が格納されています。

icoFoamは層流のソルバで、cavity流れ等の例題があります。

1) 例題(等温非圧縮流ソルバ)を実行

この例題ではblockMeshを用いて6面体メッシュを生成し、非圧縮層流ソルバ icoFoam

を用いて実行するための設定が行われています。詳細は UsersGuide の 2.1 Lid-driven

cavity flow (page U-18)を参照してください。

① 以下のコマンドを実行し,例題のあるフォルダに移動します。

% run

% cd tutorials/incompressible/icoFoam/cavity

② blockMeshコマンドを実行しメッシュ生成を行います。OpenFOAMのコマンドが

caseディレクトリの直下で実行された場合、OpenFOAMはこのディレクトリを case

ディレクトリと認識して処理を行います。

% blockMesh

メッシュ生成が正常に行われなかった場合は、標準出力に警告やエラーが表示されま

す。正常に行われた場合は以下のような出力となります。

2011.11.27 CAE ソリューションズ

6

③ icoFoamコマンドを実行します。

% icoFoam

標準出力に時間ステップ毎の収束情報などが表示されます。

2011.11.27 CAE ソリューションズ

7

④ ParaViewで可視化を行うため,caseディレクトリの直下に拡張子が”.foam”の

空ファイルを作成します。 <caseName>.foamのように命名することを推奨します。

ここでは touchコマンドを使用して“cavity.foam”を作成します。

% touch cavity.foam

実行結果は、時刻を名称とするディレクトリに保存されます。

0 0.1 0.2 0.3 0.4 0.5 cavity.foam constant system

0ディレクトリには初期値・境界値、constantディレクトリにはメッシュデータ等、

systemディレクトリには計算条件等のデータが入っています。詳細はUser’s guideを

参照してください。

⑤ ParaViewを起動します。(注意:Xアプリケーションを実行できる環境が必要です)

% paraview

⑥ “File”メニューから”Open File”ダイアログを開き、④で作成した cavity.foamを選択

して、”OK”ボタンを押します。

2011.11.27 CAE ソリューションズ

8

⑦ “Apply”ボタンが緑に表示されたらクリックして変更を反映させます。

⑧ 形状が表示されます。

2011.11.27 CAE ソリューションズ

9

⑨ コマンドバーの”Last Flameボタン” を押すことで,最終時刻0.5sのデータが

選択されます。

“Rescale to Data Range”ボタン を押して、色表示のスケールを自動調整します。

ParaViewのくわしい利用方法についてはHelpメニューから表示されるオンライン

ヘルプを参照ください。

2) 例題(液柱崩壊ソルバ)を並列で実行

液柱崩壊の例題を並列で実行する手順を示します。詳細はUsersGuideの2.3 Breaking of

a dam (page U-18)を参照してください。

① 以下のコマンドを実行し,例題のあるフォルダに移動します。

% run

% cd tutorials//multiphase/interFoam/laminar/damBreakFine

② blockMeshコマンドを実行しメッシュ生成を行います。

blockMeshの設定は constant/poluMesh/blockMeshDictファイルに記述されています。

% blockMesh

③ 0/alpha1.orgファイルから0/alpha1ファイルを作成(コピー)します。

% cp 0/alpha1.org 0/alpha1 (0は数字のゼロ,alpha1の末尾1は数字の一)

2011.11.27 CAE ソリューションズ

10

④ ParaViewで可視化を行うため空ファイルを作成します。ここでは touchコマンド

を使用して“damBreakFine.foam”を作成します。

% touch damBreakFine.foam

⑤ ParaViewを起動します。(注意:Xアプリケーションを実行できる環境が必要です)

% paraview

⑥ “File”メニューから”Open File”ダイアログを開き、④で作成したdamBreakFine.foam

を選択して、”OK”ボタンを押します。

⑦ “Apply”ボタンが緑に表示されたらクリックして変更を反映させます。

⑧ Solid Colorを“alpha1”に切り替え,スカラーバーを表示させ,Surfaceを“Surface

with edges”に切り替えます。

この段階では計算領域全体が空気(alpha1=0)の設定となります。

2011.11.27 CAE ソリューションズ

11

⑨ ParaViewを終了し,計算領域の左下に液柱(alpha1=1)を設定するため,プロ

ンプトから setFieldsコマンドを実行します。なお,setFieldsの設定は system/

setFieldsDictファイルに記述されています4。

% setFields

⑩ 再び⑤~⑦の手順でParaViewを起動し,データを読み込みます。

⑪ Solid Colorを“alpha1”に切り替え,Surfaceを“Surfacewith edges”に切り替え

ます。計算領域の左下に液柱(alpha1=1)の短形領域が設定されたことが確認でき

ます。

⑫ ParaViewを終了して,プロンプトからdecomposeParコマンドを実行し,計算

領域を4つに分割します。領域分割の設定は system/decomposeRarDictファイルに記

述されています。

% decomposePar

4 メッシュ数を変更した後 setFieldsを実行する場合は、0/alpha1.org を 0/alpha1に上書きして

ください。

2011.11.27 CAE ソリューションズ

12

なお,分割されたデータはprocessor0~processor3の4つのディレクトリに保存され

ます。

⑬ interFoamを4並列で実行します。なお,ここでは標準出力をファイル

(log.interFoam4para)にリダイレクトで保存します。

% mpirun –np 4 interFoam –parallel >& log.interFoam4para &

なお,標準出力(ここでは log.intarFoam4paraファイル)に“Finalising parallel run”

という出力が表示されると終了です。

※ 並列実行のシンタックスは

mpirun -np <領域数> <ソルバ名> -parallel

です。-parallel を忘れやすいので注意してください。

⑭ 解析結果をParaViewで可視化します。まず,⑩,⑪の手順を行います。

⑮ Case Typeに“Decomposed Case”を選択し,“Apply”ボタンが緑に表示されたらクリ

ックして変更を反映させます。

⑯ “Play”ボタンをクリックし,解析結果のシミュレーションを再生します。

⑰ 領域中の回転中心マークを非表示にするには“Show Center”ボタンをクリックしま

す。

2011.11.27 CAE ソリューションズ

13

なお,本例題を単一CPUで実行する場合,⑬で以下のコマンドを実行します。

% interFoam >& log.interFoam &

標準出力の最終行に、CPU時間(Execution time)とクロック時間(Clock Time)が表示され

ます。サーバの利用状況に大きく依存しますが、通常は4並列でのCPU時間は単一CPU

の1/2から1/3に短縮されます。