0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu 22.04(ノートPC環境下)にOpenFOAM-11をインストールして動作確認をしてみた

Posted at

1. はじめに

最近、OpenFOAM というソフトウェアで流体解析ができることを知りました。軽量に動作するという話も聞き、自分の環境でも試せるかどうかを確認してみたのが本記事の内容です。
なお、インストール方法は、徳島大学 風工学研究室の OpenFOAM-11 インストール手順 [1]を参考にしました。Ubuntu 22.04 環境上で実際にビルドを行い、流体解析から結果の可視化までを一通り試しています。

2. 実行環境

  • CPU: CORE i7 7th Gen
  • メモリ: 32GB
  • GPU: GeForce RTX 2070
  • OS: Ubuntu22.04(WSL2ではなくPCに直接インストール)

3. インストール手順

3.1 準備

sudo apt update && sudo apt upgrade -y
mkdir -p ~/OpenFOAM && cd ~/OpenFOAM

3.2. 依存パッケージのインストール

sudo apt-get install -y build-essential cmake git ca-certificates flex libfl-dev \
  bison zlib1g-dev libboost-system-dev libboost-thread-dev \
  libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev
sudo apt-get install -y libgl1-mesa-dev libqt5x11extras5-dev libqt5help5 \
  qttools5-dev qtxmlpatterns5-dev-tools libqt5svg5-dev python3-dev python3-numpy \
  libopenmpi-dev libtbb-dev ninja-build qtbase5-dev qtchooser qt5-qmake \
  qtbase5-dev-tools libglvnd-dev python-is-python3 curl
  • 「徳島大学風工学研究室 Ubuntu22.04LTS環境へのOpenFOAM-11のインストール」[1]のサイトから変えたところ:私の環境はpython3で構築しましたので、"python2-dev" は不要としました。

3.3 ソース取得

git clone https://github.com/OpenFOAM/OpenFOAM-11.git
git clone https://github.com/OpenFOAM/ThirdParty-11.git

3.4 環境設定

source ~/OpenFOAM/OpenFOAM-11/etc/bashrc
# 任意:自動化
echo "source \$HOME/OpenFOAM/OpenFOAM-11/etc/bashrc" >> ~/.bashrc

3.5 ThirdParty のビルド

cd ~/OpenFOAM/ThirdParty-11
./Allwmake

出力の最後の方👇:
⚠️ これは警告なので私は無視して進めました。

Build Metis decomposition
    optional component Metis was not found
Build Zoltan decomposition
    optional component Zoltan was not found

3.6. ParaView のビルド(Python3対応)

cd ~/OpenFOAM/ThirdParty-11
./makeParaView -python -python-lib /usr/lib/x86_64-linux-gnu/libpython3.10.so
wmRefresh
  • 「徳島大学風工学研究室 Ubuntu22.04LTS環境へのOpenFOAM-11のインストール」[1]のサイトから変えたところ
    /usr/lib/x86_64-linux-gnu/libpython2.7.so.1 
    
    /usr/lib/x86_64-linux-gnu/libpython3.10.so
    
    に変えました。

3.7 OpenFOAM 本体のビルド

以下のコマンドでビルドしましたが、私の環境ではビルドには2~3時間程度かかりました。

cd ~/OpenFOAM/OpenFOAM-11
./Allwmake
icoFoam -help

4. テスト 2次元キャビティ流れの試行

4.1 実行

以下のコマンドで、2次元キャビティ流れのシミュレーションを実行しました。
まずはチュートリアルに含まれているケースを、自分の環境で正しく動かせるかどうかを確認するのが目的です。
どのような系なのかについては、今後あらためて調べてみたいと思います。
今回は「内容を理解した解析」ではなく、まずは自分の環境で動作確認を行うことが目的ですので、その点はご容赦ください。

mkdir -p $FOAM_RUN
cd $FOAM_RUN
cp -r $FOAM_TUTORIALS/incompressibleFluid/cavity ./cavity
cd cavity
blockMesh
APP=$(awk '/^application/{print $2}' system/controlDict | tr -d ';')
$APP | tee log.$APP

4.2. ParaView での可視化(v5.10.1対応)

まずは以下のコマンドでParaViewを開きました。

paraFoam

そして以下の手順を実行します。

  • Apply をクリック
  • Coloring → U(速度)を選択
  • 最終時刻ステップを選択

可視化した矢印(Glyph:速度ベクトル)は以下になります

Screenshot from 2025-11-02 13-41-28.png

これを表示する手順としては以下を実行しました

  • Pipeline Browser で internalMesh を選択
  • internalMesh を選択 → Filters → Glyph
  • Properties:
    • Glyph Type → Arrow
    • Orientation → U
    • Scale Array → U
    • Scale Factor → 0.2
      と設定した上で"Apply"を押下しました。

可視化した流線(Stream Tracer)は以下になります

Screenshot from 2025-11-02 13-46-43.png
これを表示する手順としては以下を実行しました

  • internalMesh を選択 → Filters → Stream Tracer
  • Filters → Stream Tracer
  • Properties:
    • Vectors → U
    • Seed Type → Line Source
    • Line Parameters:
      • Point1 = (0.0, 0.05, 0)
      • Point2 = (0.1, 0.05, 0)
    • Resolution = 20
    • Integration Direction → Both

と設定した上で"Apply"を押下しました。

5. 「徳島大学風工学研究室 Ubuntu22.04LTS環境へのOpenFOAM-11のインストール」[1]のサイトから変えたところの一覧

上記の章では簡単に記載しましたが、「徳島大学風工学研究室 Ubuntu22.04LTS環境へのOpenFOAM-11のインストール」[1]のサイトから変えたところの一覧を以下に示します。

ステップ 徳島大学記事の記述[1] 今回の実施内容 差異・理由 その他
① ディレクトリ作成 mkdir ~/OpenFOAM
cd ~/OpenFOAM
同じ
② 基本依存パッケージ sudo apt-get install build-essential cmake git ca-certificates flex libfl-dev bison zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev 同じ
③ サードパーティ依存 sudo apt-get install ... python2-dev python-is-python3 curl sudo apt-get install ... python3-dev python3-numpy ... python-is-python3 curl python2-dev 削除
④ ソース取得 git clone https://github.com/OpenFOAM/OpenFOAM-11.git
git clone https://github.com/OpenFOAM/ThirdParty-11.git
同じ
⑤ 環境設定 source $HOME/OpenFOAM/OpenFOAM-11/etc/bashrc 同じ
(+ .bashrc に追記)
⑥ ThirdParty ビルド cd ThirdParty-11
./Allwmake
同じ。出力に Metis/Zoltan not found 警告のみ。無視して実行
⑦ ParaView ビルド ./makeParaView -python -python-lib /usr/lib/x86_64-linux-gnu/libpython2.7.so.1 ./makeParaView -python -python-lib /usr/lib/x86_64-linux-gnu/libpython3.10.so Python3.10に変更。
⑧ 環境更新 wmRefresh 同じ
⑨ OpenFOAM 本体ビルド cd ../OpenFOAM-11
./Allwmake
同じ。
icoFoam -help で動作確認済み。
⑩ 計算用ディレクトリ mkdir -p $FOAM_RUN 同じ
⑪ チュートリアルコピー cp -r $FOAM_TUTORIALS/incompressibleFluid/cavity . cp -r $FOAM_TUTORIALS/incompressibleFluid/cavity ./cavity
v11で階層再編された可能性あり。 記事のパスが通らない環境あり。
⑫ 計算 blockMesh
pisoFoam
blockMesh
`APP=$(awk '/^application/{print $2}' system/controlDict
tr -d ';') && $APP` → icoFoam 実行 自動ソルバ抽出で icoFoam が実行された。(controlDictに application icoFoam; があったため)
⑬ 可視化 paraFoam(操作説明なし) だいたい同じ ParaView 5.10 UI対応。
⑭ 環境自動設定 .bashrcsource ...bashrc 同じ

6. まとめ

 今回は、自分の環境(Ubuntu 22.04)に OpenFOAM-11 をインストールし、2次元キャビティ流れの渦構造を可視化するところまで確認できました。このことから、ひとまず動作確認は成功と言えそうです。
 今後は、計算領域の変更方法や3次元化などにも挑戦していきたいと考えています。

参考記事やサイト

[1]徳島大学風工学研究室 Ubuntu22.04LTS環境へのOpenFOAM-11のインストール ⬅️ 戻る

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?