Windows(Windows 10 バージョン 2004 以降)では Windows Subsystem for Linux(以下 WSL)によって Linux 用のアプリケーションを実行することができます。ここではこの機能を利用して OpenFOAM の公式パッケージをインストールし、実行する方法を説明します。なお WSL には「WSL 1」と「WSL 2」の2種類がありますが今回は「WSL 2」を使用します。
また、ここではOpenFOAM バージョン11のインストールについて説明します。バージョン10をインストールしたい場合は「OpenFOAM 10 の Windows へのインストール」を参照してください。
デスクトップ左下の検索で「Windows の機能の有効化または無効化」と検索し、設定画面を開きます。
「Linux 用 Windows サブシステム」と「仮想マシンプラットフォーム」にチェックをいれてインストールを開始します。インストールが終了したら画面の指示に従ってマシンを再起動します。
再起動後、コマンドプロンプトで以下のコマンドを実行して WSL の設定を「WSL2」に変更し、WSLを最新状態に更新します。
>wsl --set-default-version 2 >wsl --update
以上で WSL の有効化は終わりです。
次に Linux のディストリビューションの1つである Ubuntu をインストールします。
デスクトップ左下の検索で「Microsoft Store」と検索し、Microsoft Store を起動します。
Microsoft Store ウィンドウ上部の検索で「Ubuntu 22.04」と検索し、「Ubuntu 22.04.1 LTS」を開きます。
「インストール」を実行するとダウンロードが始まります。
インストール後、「開く」を実行すると WSL が起動します。
初回実行時のみインストール処理と、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」)。
以下のコマンドで OpenFOAM のバージョン11がインストールされます。
$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 openfoam11
次に以下のコマンドでユーザー設定を行います。この設定はインストール後に1度だけ行います。
$echo "source /opt/openfoam11/etc/bashrc" >> $HOME/.bashrc $source $HOME/.bashrc
インストールが終わったら動作確認を行います。「foamRun -help」と入力して以下の様にヘルプが表示されれば OpenFOAM は正常にインストールされています。
$foamRun -help Usage: foamRun [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 -noFunctionObjects do not execute functionObjects -parallel run in parallel -roots <(dir1 .. dirN)> slave root directories for distributed running -solver <name> Solver name -srcDoc display source code in browser -doc display application documentation in browser -help print the usage Using: OpenFOAM-11 (see https://openfoam.org) Build: 11-c219200fdb8b
※「foamRun」コマンドは OpenFOAM バージョン11で新しく追加されました。バージョン10以前では使用できないので代わりに「simpleFoam -help」として正常にインストールされてるかを確認します。
OpenFOAM のチュートリアルとして用意されている Pitz&Daily 問題を計算して OpenFOAM の動作を確認します。以下のコマンドを順次、実行します。
$cp -r $FOAM_TUTORIALS/incompressibleFluid/pitzDailySteady . $cd pitzDaily $blockMesh $foamRun $paraFoam
「paraFoam」コマンドで ParaView(paraFoam)が起動し、計算結果が読み込まれます。まずウィンドウ左側にある「Apply」ボタンをクリックします。
続いてツールバーにある「Time:」を「3」に変更します。
最後にツールバーにあるコンボボックスで変数として「U」(速度)を選択します。すると図の様に 3D ビューに速度の大きさがコンター表示されます。
これで Windows への OpenFOAM のインストール、動作確認が終了しました。次回以降は以下の手順で OpenFOAM を使用することができます。
OpenFOAM では同じメジャーバージョン(OpenFOAM 10, OpenFOAM 11 など...)中に、不具合の修正などでマイナーアップデートが行われることがあります。アップデートが存在するかどうかは「apt update」でパッケージ一覧を更新した後「sudo apt list --upgradable」で更新可能なパッケージを表示することで確認できます。
例えば以下のようにしてインストール済みの OpenFOAM のアップデートが存在するかを確認します。
$sudo apt update $sudo apt list --upgradable | grep "openfoam"
アップデートが存在する場合は以下のようにしてインストール済みの OpenFOAM のみを更新できます。
$sudo apt install --only-upgrade openfoam11
更新後に「foamRun -help」などで確認すると「Build: 11-c219200fdb8b」といったようにメジャーバージョン以下のビルドバージョン文字列が変わります。
インストールした OpenFOAM をアンインストールする場合は WSL 上で以下の様にします。OpenFOAM バージョン10をアンインストールする場合は「openfoam11」の部分を「openfoam10」とします。
$sudo apt-get purge openfoam11
Ubuntu そのものを Windows からアンインストールする場合はデスクトップ左下の検索で「プログラムの追加と削除」と検索し、Ubuntu 22.04 LTS を検索してアンインストールします。