【openfoamの使い方-1】無料で始める流体解析
この記事を見ている皆さんは流体解析に興味のある方だと思います。今回は無料のCFDソフトウェアである「openfoam」を紹介しようと思います。openfoamを使用するにはコマンドプロンプトの操作が必要になり、初心者にはセットアップが難しいですが、この記事ではopenfoamのセットアップ手順から操作までなるべく分かりやすく解説しますので、ぜひ最後まで読んでみてください!
目次
openfoamとは?
openfoamはオープンソースの数値流体解析(CFD)ソフトウェアです。CFDとは流体の運動を記述する物理方程式をもとに、コンピュータを使用して流体の温度や流速などの時間ごとの変化をシミュレーションして結果を可視化するものです。CFDは航空機の設計や自動車の空力解析、建物の風環境の調査、環境工学、エンジン内部の燃焼解析など、さまざまな分野で活用されています。

オープンソースとは無償で一般公開されたソフトウェアのプログラムを指します。オープンソースは誰でも自由にソフトウェアの改良や再配布することができます。
openfoamの始め方
動作環境について
openfoamを使用するには、初めに動作環境を整える必要があります。openfoamは様々なOS上で使用することができますが、一般的に多く使用されているOSはLinuxです。今回はLinuxの一種であるUbuntuを使用します。環境はWindowsやMacOS上でUbuntuを稼働し、さらにUbuntu上でopenfoamを使用するイメージです。


OSとはパソコンの人格のようなものです。簡単に言うと、パソコンという箱にOSを導入することで初めて私たちはパソコンとして使用できるというわけですね。LinuxはOSの一種であり、UbuntuとはLinuxを構成するOSのひとつと覚えてください。
WSLの有効化
WSL(Windows Subsystem for Linux)とは、Microsoft社が提供している機能で、Windows上でLinuxの実行環境をサポートする機能です。今回はWindows11を使用した実行環境について解説します。
「設定」を開き、検索欄に「機能」と打ち込むと「オプション機能」がサジェストされるので、それを選択します。

オプション機能の画面を下までスクロールすると「Windowsのその他の機能」があるので、それを選択します。

すると「Windowsの機能」がポップアップされるので、「Linux用Windowsサブシステム」にチェックします。チェックを入れると処理が始まるので、しばらく待って再起動を要求されたらシステムを有効化するため、指示に従って一度PCを再起動しましょう。

Ubuntuのインストール
続いてUbuntuをインストールします。Microsoft Storeを立ち上げ、「Ubuntu」と検索します。2024年10月現在のUbuntuの最新版は24.04.1のようですが、最新版で実行したところ私のやり方が良くなかったのか、セットアップがうまくいかなかったので、バージョン22.04.5を使用します。皆さんは、問題なければ最新版で良いと思います。

Ubuntuをダウンロードして起動すると、ターミナルが表示されてインストールが準備されます。しばらく待つとUbuntuを使用するためのユーザー名とパスワードの入力が求められるので、自由に入力します。パスワードは入力してもターミナル上には表示されないので注意してください。パスワードの確認用に再度パスワードを打ち込んでEnterするとインストールが始まります。

インストールが終了して、ターミナル最後の行に「自分のPC名+$マーク」が表示されたら成功です。

openfoamのインストール
次にopenfoamをインストールします。今回はopenfoam財団が提供しているサイトからインストールします。2024年10月現在の最新版はopenfoam12のようです。
openfoamはUbuntuのターミナル上でコマンドを打ち込むことでインストールできます。打ち間違いを防ぐため、サイトが提供しているコマンドをコピーペーストすることをおすすめします。
openfoam財団のopenfoam12のインストールページに行って「Installation」の項目を表示します。ここにインストール用のコマンドが提供されているので、これを順番にターミナルへ打ち込んでいきます。

ターミナルの「$」マークの行に①から順番にコマンドを打ち込んでいきます。この時、先ほど設定したパスワード入力を求められる場合があるので、パスワードをターミナルに打ち込んでEnterすると、処理が始まります。

途中で処理が止まって、処理を続けるかどうかを選択しなければならないことがありますが、その場合はEnterで大丈夫です。

①から③を入力して処理が終わり、④のコマンドを入力するとopenfoam12のインストールが始まります。④の処理は時間がしばらくかかるので気長に待ちましょう。インストールに成功するとまた「$」が表示されます。
openfoam用のコマンドを設定
openfoamのインストールが完了したら、Ubuntu上でopenfoamを操作するためのファイルを設定します。
openfoam財団の「User Configuration」の項目を表示し、①から③のコマンドを実行します。①のコマンドを実行すると、.bashrcファイルがポップアップします。

.bashrcはコンピュータに命令を伝える際に読み込まれるファイルです。
ここにopenfoamを操作するための設定を追記します。

.bashrcファイルに行を追加して②のコマンドを追記します。

①のコマンドを打ち込んでエラーが生じる場合、ファイルを読み込むための機能がインストールされていない可能性があるので、以下のコマンドをターミナルに入力して必要な機能をインストールします。
sudo apt install gedit
.bashrcファイルにコマンドを追記して保存したら、③のコマンドをターミナルで実行してエラーが表示されなければ、openfoamのコマンド設定は完了です。
openfoamの動作確認
例題の計算を実行
最後にopenfoamの動作を確認します。openfoam財団のサイトの「Getting Started」項目を表示し、①から⑦のコマンドをターミナル上で順番に実行します。動作確認にはopenfoamインストール時にあらかじめ用意されている例題を使用します。

以下にどのような操作をしているか簡単に説明します。
①の「mkdir -p $FOAM_RUN」はopenfoamの計算時に使用するフォルダを作成しています。
②の「cd $FOAM_RUN」は計算時に使用するフォルダに移動し、カレントディレクトリにしています。
③の「cp -r $FOAM_TUTORIALS/incompressibleFluid/pitzDailySteady .」はopenfoamの計算例題が保存されているフォルダをカレントディレクトリにコピーしています。
④の「cd pitzDailySteady」コピーした計算例題のフォルダに移動しています。
⑤の「blockMesh」は計算モデルのメッシュを設定しています。
⑥の「foamRun」はopenfoamによる計算を実行します。
⑦の「paraFoam」は「ParaView」を起動し、計算結果を可視化します。

「mkdir」、「cd」、「cp」は全てLinux上で使用できるコマンドです。
計算結果の可視化
計算結果を可視化するためには「ParaView」という可視化ソフトを使用します。ParaViewはopenfoamと同様のオープンソースのプログラムです。ParaViewはopenfoamのインストール時に一緒にインストールされるので、改めてインストールする必要はありません。
⑦のコマンドを実行してParaViewを起動したら、以下の画面のように①のアイコンをクリックし、解析の最終フレームを選択します。次に②の「Apply」をクリックすることで解析結果を表示します。

次に解析結果の表示モードを変更してみます。画面の矢印部分をクリックすると、プルダウンで表示形式を選択できます。「U」は流速分布のコンター表示、「P」は圧力分布のコンター表示です。

流速分布をコンター表示したものがこちらです。

環境構築がうまくいかない場合の対処
もしも上記の一連の流れのどこかでうまくセットアップができなかった場合は、一度Ubuntuをリセットして最初からやり直すことをおすすめします。リセットの方法を以下に記載します。
「設定」の「アプリ」から「インストールされているアプリ」を表示し、Ubuntuをの「詳細オプション」を選択します。

詳細オプションを開くと「リセット」の項目があるので、リセットボタンをクリックします。

リセットしたら再びUbuntuを起動します。すると再度インストール準備が始まるので、最初の手順からやり直します。もしここでエラーが表示される場合は、以下のように対処します。
Windowsのスタートメニューを開き、検索欄に「powershell」と入力して表示される「Windows PowerShell」を選択します。

するとターミナルが起動するので、ここに「wsl --unregister Ubuntu-22.04」と入力してEnterします。コマンドが正常に処理されると「この操作を正しく終了しました。」と表示されます。
処理が正しく実行できたら、再びUbuntu起動してインストールが実行されるか確認してください。


Ubuntuのバージョンに応じて「Ubuntu-」以降の数字は変更してください。
まとめ
いかがでしたでしょうか?今回は無料のオープンソースであるopenfoamのセットアップと使い方について説明しました。今後はopenfoamを使用した流体解析のやり方を詳しく解説していこうと思うので、ぜひ次回の記事も読んでみてください。それではまた!