PR

【Windows】UbuntuでOpenFOAM v2012をインストールする

WindowsでUbuntuを使ってOpenFOAM v2012をPCにインストールする方法について説明する

エディション Windows 10 Home
バージョン 21H2
インストール日 ‎2022/‎02/‎14
OS ビルド 19044.1526
エクスペリエンス Windows Feature Experience Pack 120.2212.4170.0

スポンサーリンク

Ubuntuのインストール

WSLを有効にする

Windowsキーを押してスタートを開き、左下にある「設定」をクリック

「アプリ」をクリック

右上の「プログラムと機能」をクリック

左上の「Windowsの機能の有効化または無効化」をクリック

「Linux用Windowsサブシステム」「仮想マシンプラットフォーム」にチェックを入れて「OK」をクリック

機能が適用される(すぐに終わる)

「今すぐ再起動」をクリックしてPCを再起動する

Ubuntuのインストール

Windowsキーを押してスタートを開き、下の検索窓に「Microsoft Store」と入力する

Microsoft Storeの「開く」をクリック

Microsoft Storeが開くので、上の検索窓に「Ubuntu」と入力し「Ubuntu 18.04 LTS」をクリック

左にある「Get」をクリック

インストールが終わったら「Open」をクリック

Ubuntuが開くので、好きなユーザー名とパスワードを入力する

これでUbuntuのインストールは完了である

スポンサーリンク

OpenFOAMのインストール

OpenFOAMの公式サイトへアクセスする

OpenFOAM® Installation on Windows 10
OpenFOAM - Official home of The Open Source Computational Fluid Dynamics (CFD) Toolbox

OpenFOAM-v2012-windows10.tgz」をクリックする

SOURCEFORGEのサイトに飛ばされてダウンロードが始まる

Ubuntuを起動する

エクスプローラーのダウンロードディレクトリにダウンロードされた「OpenFOAM-v2012-windows10.tgz」をUbuntuのホームディレクトリにコピーする

Ubuntuでは「/mnt/c/Users/XXX/Downloads/」というパスでエクスプローラーのダウンロードディレクトリにアクセスできる
【 cp 】コマンド――ファイルをコピーする

:~$ cp -ar /mnt/c/Users/XXX/Downloads/OpenFOAM-v2012-windows10.tgz .

Ubuntuのホームディレクトリに「OpenFOAM-v2012-windows10.tgz」がコピーされていることがわかる
【 ls 】コマンド――ファイルを一覧表示する

:~$ ls -l
total 602340
-rwxrwxrwx 1 XXX XXX 616793515 Feb 18 15:59 OpenFOAM-v2012-windows10.tgz

コピーしてきた「OpenFOAM-v2012-windows10.tgz」を「/opt/」というディレクトリに解凍する
【 sudo 】コマンド――スーパーユーザー(rootユーザー)の権限でコマンドを実行する
【 tar 】コマンド――アーカイブファイルを作成する/展開する

:~$ sudo tar -xvzf OpenFOAM-v2012-windows10.tgz -C /opt/

解凍したディレクトリの所有者は「1027」になっている

:~$ ls -l /opt/
total 0
drwxr-xr-x 1 1027 XXX 512 Jan 21  2021 OpenFOAM

OpenFOAMのファイルを操作できるように、ファイルの所有者を自分に変更する
【 chown 】コマンド/【 chgrp 】コマンド――ファイルの所有者と所有グループを変更する

:~$ sudo chown -R $USER /opt/OpenFOAM

所有者が変わっていることが確認できる

:~$ ls -l /opt/
total 0
drwxr-xr-x 1 XXX XXX 512 Jan 21  2021 OpenFOAM

OpenFOAMの動作に必要なパッケージをインストールする
【 apt 】コマンド(基礎編)――ソフトウェアをインストールする

:~$ sudo apt install bison flex m4

OpenFOAMの設定ファイルを読み込むコマンドのエイリアスを「.bashrc」に書き込む
Insider's Computer Dictionary:エイリアス とは
.bash_profileと.bashrcの違いは

vimやechoコマンドを使って書き込んでもいいが、今回はエクスプローラーからアクセスしてVisual Studio Codeで書き込んでみる

エクスプローラでは、Ubuntuのホームディレクトリは次のパスにある(XXXはユーザー名)
「C:\Users\XXX\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\XXX」

エクスプローラーを開き、上の窓にパスを入力する

「.bashrc」があるので、右クリックして「Codeで開く」をクリックする

Visual Studio Codeが開くので、一番下に以下のコードを追加する

alias ofv2012='. /opt/OpenFOAM/OpenFOAM-v2012/etc/bashrc'

sourceコマンドを使って「.bashrc」の設定を反映させて、先ほど追加したエイリアスを実行する
【 source 】コマンド/【 . 】コマンド――シェルの設定を即座に反映させる

:~$ source .bashrc
:~$ ofv2012

※今後OpenFOAMを実行するときは、まずこのエイリアスを実行する必要があるので忘れないように

以上でOpenFOAMのインストールは完了である

スポンサーリンク

チュートリアルケースの実行

OpenFOAMがきちんとインストールできているかを確認するために、2次元翼型解析のチュートリアルケースを実行してみる

OpenFOAM: User Guide: Turbulent flow over NACA0012 airfoil (2D)

OpenFOAMで計算に使うファイルを置くディレクトリは「$WM_PROJECT_USER_DIR」で指定されている
シェル変数を定義したり、削除するには
【 echo 】コマンド――メッセージや環境変数を表示する

:~$ echo $WM_PROJECT_USER_DIR
/home/XXX/OpenFOAM/XXX-v2012

「$WM_PROJECT_USER_DIR」で指定されたディレクトリを作成する
【 mkdir 】コマンド/【 rmdir 】コマンド――ディレクトリを作成する/削除する

:~$ mkdir -p $WM_PROJECT_USER_DIR

OpenFOAMのチュートリアルケースは「$FOAM_TUTORIALS」に置かれている

2次元翼型解析のチュートリアルは「$FOAM_TUTORIALS/incompressible/simpleFoam/airFoil2D」にあるので、ディレクトリごと$WM_PROJECT_USER_DIRにコピーする

:~$ cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/airFoil2D $WM_PROJECT_USER_DIR
:~$ ls -l $WM_PROJECT_USER_DIR
total 0
drwxr-xr-x 1 XXX XXX 512 Feb 18 18:56 airFoil2D

計算ケースのディレクトリに移動し、「Allrun」というシェルスクリプトでOpenFOAMによる計算を実行する
シェルスクリプトに挑戦しよう(1)準備編

:~$ cd $WM_PROJECT_USER_DIR/airFoil2D
:~/OpenFOAM/XXX-v2012/airFoil2D$ ./Allrun
Running simpleFoam on /home/XXX/OpenFOAM/XXX-v2012/airFoil2D

チュートリアルは素人でも簡単に計算ができるよう高度にチューニングされているので、計算はあっという間に終わる

0~313までの計算結果が出力されているのがわかる

:~/OpenFOAM/XXX-v2012/airFoil2D$ ls -l
total 256
drwxr-xr-x 1 XXX XXX    512 Feb 18 18:56 0
drwxr-xr-x 1 XXX XXX    512 Feb 18 19:01 100
drwxr-xr-x 1 XXX XXX    512 Feb 18 19:01 150
drwxr-xr-x 1 XXX XXX    512 Feb 18 19:01 200
drwxr-xr-x 1 XXX XXX    512 Feb 18 19:01 250
drwxr-xr-x 1 XXX XXX    512 Feb 18 19:01 300
drwxr-xr-x 1 XXX XXX    512 Feb 18 19:01 313
drwxr-xr-x 1 XXX XXX    512 Feb 18 19:01 50
-rwxr-xr-x 1 XXX XXX    279 Feb 18 18:56 Allclean
-rwxr-xr-x 1 XXX XXX    360 Feb 18 18:56 Allrun
drwxr-xr-x 1 XXX XXX    512 Feb 18 18:56 constant
-rw-r--r-- 1 XXX XXX 184627 Feb 18 19:01 log.simpleFoam
drwxr-xr-x 1 XXX XXX    512 Feb 18 18:56 system

エクスプローラーで結果を確認したければ「C:\Users\XXX\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\XXX\OpenFOAM\XXX-v2012\airFoil2D」にアクセスすればいい

計算結果を可視化ソフトで確認するために、.foamファイルを作成する
【 touch 】コマンド――タイムスタンプを変更する/新規ファイルを作成する

:~/OpenFOAM/XXX-v2012/airFoil2D$ touch airFoil2D.foam

.foamファイルは何も書き込まれていない空ファイルで、計算ケースのディレクトリに置くことによって計算結果を見ることができるようになる(.foamファイルだけでは計算結果を見ることはできない)

スポンサーリンク

ParaViewで結果の確認

本当に計算ができているか、OpenFOAMの推奨可視化ソフトであるParaViewで確認してみる

ParaViewのインストール

ParaViewの公式サイトにアクセスする

Download ParaView
You can download the latest stable version of ParaView and previous releases or access the current development (nightly)...

ParaView-5.10.0-Windows-Python3.9-msvc2017-AMD64.exe」をクリックしてダウンロードする

ダウンロードした「ParaView-5.10.0-Windows-Python3.9-msvc2017-AMD64.exe」をダブルクリックして実行する

「次へ」をクリック

ライセンス契約書を読んで「同意する」をクリック

「次へ」をクリック

「インストール」をクリック

インストールが始まる(すぐに終わる)

「完了」をクリック

これでParaViewのインストールは完了である

スポンサーリンク

ParaViewで結果を可視化する

UbuntuにあるOpenFOAMのディレクトリのショートカットをデスクトップに作成する

エクスプローラーを開き、次のパスを入力する「C:\Users\XXX\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\XXX\OpenFOAM\XXX-v2012」

「XXX-v2012」のディレクトリを右クリックして「送る>デスクトップ(ショートカットを作成)」をクリックする

Windowsキーを押してスタートを開き、検索窓にparaviewと入力する

ParaViewが出てくるので「開く」をクリック

ParaViewが開く

左上の「File>Open」をクリック

左側の「Desktop」から先ほど作成したショートカットにアクセスし、計算ケースの中にある.foamファイルを選択して「OK」をクリック

左側の「Properties」にある「Apply」をクリック

OpenFOAMの計算したデータが読み込まれる

きちんと計算ができていることが確認できた

スポンサーリンク

参考文献

参考にした文献は以下の通り

日本語で非常にわかりやすくまとめてあるので、より詳しく勉強したい人はこちらからどうぞ

まとめ

参考文献に「OpenFOAMは学習コストが高いアプリケーションである」と書いてあったが,まさにいまそれを実感している

Fusion360とかJWCADとかの無料ソフトはネット上にいくらでも情報が転がっていることを考えると,OpenFOAMのユーザーがまだ少なく,黎明期なのかもしれない

それでも企業や研究の場でも使われているようなCFDソフトをただで使えると思えば安いものなので,培ってきたググり力を総動員して頑張っていきたい

誰も教えてくれないググり方 - Qiita

↓計算

↓ソースコード解説

↓おすすめ記事

OpenFOAM
質問・感想・意見などあれば気軽にTwitterのDMかコメントお願いします!
スポンサーリンク

コメント

  1. NK より:

    source .bashrcに続くofv2012はコマンドの一つでしょうか?

    • @mtk_birdman @mtk_birdman より:

      「ofv2012」はエイリアスと呼ばれるショートカットキーみたいなものです.

      記事の中で
      「alias ofv2012=’. /opt/OpenFOAM/OpenFOAM-v2012/etc/bashrc’」
      として.bashrc の中に設定してあります.

      • NK より:

        NKです、解決しました。

        浅学のため、alias ofv2012=’. /opt/OpenFOAM/OpenFOAM-v2012/etc/bashrc’を端末側でも入力する必要があることを理解できていませんでした。

  2. NK より:

    返信ありがとうございます。

    Visual Codeでaliasを定義し、source .bashrcにて適用したのですが、
    source .bashrc実行後に ofv2012 を入力してもcommand not foundと表示されてしまい適用できませんでした。
    しかしながらAirfoil2D等のチュートリアルは上手く行っているため、正規にインストールされたか判断できず質問させていただきました。

    いーそ先生が紹介されていた参考文献の「OpenFoamの歩き方」の手順ではechoコマンドから
    source /opt/OpenFOAM/OpenFOAM-v2012/etc/bashrc を追加できたので、

    そちらからもpython仮想環境の構築やOpenMPIのインストールについてアプローチしてみようと思います。