いきなりOpenFOAM (2)

OpenFOAMのチュートリアルを計算する

Linuxの操作

 今回はOpenFOAMにあらかじめ用意されている例題を実行しますが、その前にLinuxのファイル操作やコマンド入力について少し説明します。
 まず、OpenFOAMの計算はインストール時と同様に、ターミナル画面にコマンドを入力して行います。このあと出てきますが、実行するコマンドは単純かつ決まったものなので、特に色々と覚える必要はありません。一方、計算実行にはファイルの移動やコピー、削除などの操作が必要です。こちらもコマンドで操作することができますが、ターミナルで下記のコマンドを実行することで、WindowsのエクスプローラのようなGUI上のファイル操作が可能になります。

nautilus

図1 Linuxのファイル操作画面

 なお、Windows上でUbuntuを構築した場合は、Windowsのエクスプローラがそのまま使えます。

 OpenFOAMの計算は設定ファイルなどがまとめられているディレクトリ(=フォルダ)でコマンドを実行します。そのため、計算前に該当のディレクトリに移動しなければなりませんが、上記GUIの場合は、実行したいディレクトリで「右クリック」-「端末で開く」を選択することで、すでにそのディレクトリに移動した後の状態で端末が起動します。
 一方、Windows上でUbuntuを構築した場合は、エクスプローラに同様の機能が無いので、まずUbuntuを起動し、その後、設定ファイルがあるディレクトリまでコマンドで移動する必要があります。
Ubuntu上でC:\にアクセスするには

cd /mnt/c/

となります。ここで「cd」はlinuxのコマンドでディレクトリを移動するコマンドです。
例えば、C:\ユーザー\[ユーザー名]\test-folder へ移動する場合は、

cd /mnt/c/Users/[ユーザー名]/test-folder

で移動できます。大文字と小文字を区別しますので、注意してください。
また、今いる場所から1つ上のディレクトリに移るには

cd ..

一つ下の任意のディレクトリに移るには

cd [フォルダ名]

と、相対的に移動できます。
「cd」コマンドは一番使用頻度が高いと思いますので、覚えてしまいましょう。

チュートリアルをコピーする

 さて、いよいよOpenFOAMを動かします。まずはあらかじめ用意されているチュートリアルを実行してみましょう。すでにインストールチェックで実行した方もいるかもしれませんが、一連の操作をおさらいしてゆきます。
 OpenFOAMには多くのチュートリアルが用意されているので、その中から今回はpitzDailyという例題を計算してみます。
 まず、オリジナルのチュートリアルはそのまま残しておきたいので、練習用に例題をコピーします。チュートリアルの場所はOpenFOAMをどこにインストールしたかによりますが、今回の例では コンピューター/opt/openfoam7  の下にtutorialsがあります。
 (Windowsではかなり奥になるので、「pitzDaily」などで検索したほうが早いです)

Linuxの場合、Dockからファイルマネージャーを起動します。左の欄の「他の場所」をクリックし、コンピューターを表示させます。

図2 ファイルマネージャーでコンピュータを表示

OpenFOAMのインストール箇所を開きます。コンピューター→opt→openfoam7へ移動し、tutorialsをhomeの任意のディレクトリにコピーします。(必要な例題だけ移動してもいいです) Windowsなどと同様の操作でコピーペーストできます。(マウス右クリック→コピーと右クリック→貼付けあるいは、キーボードのCtrl+CとCtrl+V)

図3 OpenFOAMのディレクトリに移動

コピーしたtutorials内の incompressible→simpleFoam→pitzDaily を同様に、任意のディレクトリにコピーします。なお、OpenFOAMは日本語(2byteコード)には対応していないので、ファイル名やディレクトリ名に日本語名は使えません。

図4 tutorials から pitzDaily をコピー

PitzDailyのディレクトリ内には、解析に必要な条件ファイルが入っています。

図5 pitzDaily ディレクトリのファイル構成
pitzDailyを実行

 解析の流れとしては、メッシュ生成→計算の順番で、メッシュ生成と計算は別々のコマンドを実行します。
 
 それでは、早速操作していきましょう。
 PitzDaily内で右クリック→端末を開くを選択し、ターミナルを起動します。

図6 pitzDaily ディレクトリ内でターミナルを起動

チュートリアルではすでにメッシュの分割設定がされているので、いきなりコマンドを入力します。
OpenFOAMには複数のメッシャーが用意されていますが、今回は一番一般的なblockMeshというコマンドになります。
※大文字と小文字を区別しますので注意してください。

blockMesh

(インストール時に行う、.bashrcへのsource /opt/openfoam7/etc/bashrc の追加を忘れると、UbuntuはblockMeshというコマンドを認識できずにエラーとなります)

図7 blockMesh(メッシュ分割)実行中

ターミナルで「$」や「%」が表示され、入力待ちの状態になったら、続けて、計算用のコマンドを入力します。
OpenFOAMでは様々なタイプの解析を行うことができ、タイプによって実行コマンドが異なります。今回の例題pitzDailyはsimpleFoamというコマンドで計算を行います。OpenFOAMのチュートリアルを計算する場合は、そのディレクトリがどのコマンドのディレクトリに属していたかで、実行コマンドを知ることができます。(〇〇Foam)というディレクトリ名になっています。

simpleFoam

Enterキーを押すとすぐに計算が始まります。
チュートリアルですので、計算時間はそれほどかかりません。

図8 simpleFoam(流体計算)実行中

メッシュの時と同様、計算が終了すると「$」や「%」が表示され、入力待ちの状態になります。
これでOpenFOAMの計算ができました。

次回は今回計算したものを可視化してみます。

おことわり
 本コンテンツの動作や表示はお使いのバージョンにより異なる場合があります。
 本コンテンツの動作ならびに設定項目等に関する個別の情報提供およびサポートはできかねますので、あらかじめご了承ください。
 本コンテンツは動作および結果の保証をするものではありません。ご利用に際してはご自身の判断でお使いいただきますよう、お願いいたします。