↑ページトップへ

OpenFOAM 10 の Windows へのインストール

OpenFOAM 10WSL 2Windows 11

Windows(Windows 10 バージョン 2004 以降)では Windows Subsystem for Linux(以下 WSL)によって Linux 用のアプリケーションを実行することができます。ここではこの機能を利用して OpenFOAM の公式パッケージをインストールし、実行する方法を説明します。なお WSL には「WSL 1」と「WSL 2」の2種類がありますが今回は「WSL 2」を使用します。

Windows Subsystem for Linux の有効化

デスクトップ左下の検索で「Windows の機能の有効化または無効化」と検索し、設定画面を開きます。

「Windows の機能の有効化または無効化」の検索
「Windows の機能の有効化または無効化」の検索

「Linux 用 Windows サブシステム」と「仮想マシンプラットフォーム」にチェックをいれてインストールを開始します。インストールが終了したら画面の指示に従ってマシンを再起動します。

Linux 用 Windows サブシステムの有効化
Linux 用 Windows サブシステムの有効化
仮想マシンプラットフォームの有効化
仮想マシンプラットフォームの有効化

再起動後、コマンドプロンプトで以下のコマンドを実行して WSL の設定を「WSL2」に変更し、WSLを最新状態に更新します。

>wsl --set-default-version 2
>wsl --update

以上で WSL の有効化は終わりです。

Ubuntu のインストール

次に Linux のディストリビューションの1つである Ubuntu をインストールします。

デスクトップ左下の検索で「Microsoft Store」と検索し、Microsoft Store を起動します。

「Microsoft Store」の検索
「Microsoft Store」の検索

Microsoft Store ウィンドウ上部の検索で「Ubuntu 22.04」と検索し、「Ubuntu 22.04.1 LTS」を開きます。

「Ubuntu」の検索
「Ubuntu 22.04」の検索

「インストール」を実行するとダウンロードが始まります。

Ubuntu のインストール
Ubuntu のインストール

インストール後、「開く」を実行すると WSL が起動します。

Ubuntu の起動
Ubuntu の起動

初回実行時のみインストール処理と、Unix ユーザーアカウントの作成が行われるので適当なユーザー名、パスワードでアカウントを作成します。以下の例ではユーザー名「MyName」としてアカウントを作成しています。パスワードは入力時には表示されないことに注意してください。

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: MyName
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.

Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.79.1-microsoft-standard-WSL2 x86_64)

	* Documentation:  https://help.ubuntu.com
	* Management:     https://landscape.canonical.com
	* Support:        https://ubuntu.com/advantage

This message is shown once a day. To disable it please create the
/home/MyName/.hushlogin file.
MyName@MyMachine:~$

以上で Ubuntu のインストールが終了しました。以降、適当なフォルダを開き、エクスプローラーのアドレス欄に「wsl」と入力してエンターキーを押すとそのフォルダを作業フォルダとして Ubuntu の端末が起動します。

注意:Linux ディストリビューションを複数インストールしている場合はコマンドプロンプトで「wsl --set-default Ubuntu-22.04」と実行してデフォルトのディストリビューションを変更しておきます(参照:「WSL の基本的なコマンド | Microsoft Docs」)。

エクスプローラーから Ubuntu の端末を起動
エクスプローラーから Ubuntu の端末を起動

OpenFOAM のインストール

以下のコマンドで OpenFOAM のバージョン10がインストールされます。「openfoam10」の部分を「openfoam9」とするとバージョン9をインストールすることも可能です。

$sudo sh -c "wget -O - https://dl.openfoam.org/gpg.key > /etc/apt/trusted.gpg.d/openfoam.asc"
$sudo add-apt-repository http://dl.openfoam.org/ubuntu
$sudo apt-get update
$sudo apt-get -y install openfoam10

次に以下のコマンドでユーザー設定を行います。この設定はインストール後に1度だけ行います。OpenFOAM のバージョン9をインストールする場合は「openfoam10」の部分を「openfoam9」とします。

$echo "source /opt/openfoam10/etc/bashrc" >> $HOME/.bashrc
$source $HOME/.bashrc

インストールが終わったら動作確認を行います。「simpleFoam -help」と入力して以下の様にヘルプが表示されれば OpenFOAM は正常にインストールされています。

$simpleFoam -help

Usage: simpleFoam [OPTIONS]
options:
  -case <dir>       specify alternate case directory, default is the cwd
  -fileHandler <handler>
                    override the fileHandler
  -hostRoots <((host1 dir1) .. (hostN dirN))>
                    slave root directories (per host) for distributed running
  -libs '("lib1.so" ... "libN.so")'
                    pre-load libraries
  -listFunctionObjects
                    List functionObjects
  -listFvConstraints
                    List fvConstraints
  -listFvModels     List fvModels
  -listMomentumTransportModels
                    List momentumTransportModels
  -listScalarBCs    List scalar field boundary conditions (fvPatchField<scalar>)
  -listSwitches     List all available debug, info and optimisation switches
  -listVectorBCs    List vector field boundary conditions (fvPatchField<vector>)
  -noFunctionObjects
                    do not execute functionObjects
  -parallel         run in parallel
  -postProcess      Execute functionObjects only
  -roots <(dir1 .. dirN)>
                    slave root directories for distributed running
  -srcDoc           display source code in browser
  -doc              display application documentation in browser
  -help             print the usage

Using: OpenFOAM-10 (see https://openfoam.org)
Build: 10-e450dce21ea5

OpenFOAM 動作テスト

OpenFOAM のチュートリアルとして用意されている Pitz&Daily 問題を計算して OpenFOAM の動作を確認します。以下のコマンドを順次、実行します。

$cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
$cd pitzDaily
$blockMesh
$simpleFoam
$paraFoam

「paraFoam」コマンドで ParaView(paraFoam)が起動し、計算結果が読み込まれます。まずウィンドウ左側にある「Apply」ボタンをクリックします。

ParaFoam の起動
ParaFoam の起動

続いてツールバーにある「Time:」を「3」に変更します。

時刻の選択
時刻の選択

最後にツールバーにあるコンボボックスで変数として「U」(速度)を選択します。すると図の様に 3D ビューに速度の大きさがコンター表示されます。

変数の選択
変数の選択

これで Windows への OpenFOAM のインストール、動作確認が終了しました。次回以降は以下の手順で OpenFOAM を使用することができます。

  1. 作業に使いたいフォルダをエクスプローラーで開く
  2. エクスプローラーのアドレス欄で「wsl」コマンドを実行
  3. OpenFOAM の各コマンド(blockMesh、simpleFoam、paraFoamなど)を実行。

OpenFOAM のマイナーアップデート

OpenFOAM では同じメジャーバージョン(OpenFOAM 9, OpenFOAM 10 など...)中に、不具合の修正などでマイナーアップデートが行われることがあります。アップデートが存在するかどうかは「apt update」でパッケージ一覧を更新した後「sudo apt list --upgradable」で更新可能なパッケージを表示することで確認できます。

例えば以下のようにしてインストール済みの OpenFOAM のアップデートが存在するかを確認します。

$sudo apt update
$sudo apt list --upgradable | grep "openfoam"
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

openfoam10/unknown 20230119 amd64 [upgradable from: 20221128]

アップデートが存在する場合は以下のようにしてインストール済みの OpenFOAM のみを更新できます。

$sudo apt install --only-upgrade openfoam10

更新後に「simpleFoam -help」などで確認すると「Build: 10-c4cf895ad8fa」といったようにメジャーバージョン以下のビルドバージョン文字列が変わります。

アンインストール

インストールした OpenFOAM をアンインストールする場合は WSL 上で以下の様にします。OpenFOAM バージョン9をアンインストールする場合は「openfoam10」の部分を「openfoam9」とします。

$sudo apt-get purge openfoam10

Ubuntu そのものを Windows からアンインストールする場合はデスクトップ左下の検索で「プログラムの追加と削除」と検索し、「アプリと機能」で Ubuntu 20.04 LTS を検索してアンインストールします。

「プログラムの追加と削除」の検索
「プログラムの追加と削除」の検索
Ubuntu のアンインストール
Ubuntu のアンインストール

参照