Windows(Windows 10 バージョン 2004 以降)では Windows Subsystem for Linux(以下 WSL)によって Linux 用のアプリケーションを実行することができます。ここではこの機能を利用して OpenFOAM の公式パッケージをインストールし、実行する方法を説明します。なお WSL には「WSL 1」と「WSL 2」の2種類がありますが今回は「WSL 2」を使用します。
デスクトップ左下の検索で「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 のバージョン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 のチュートリアルとして用意されている Pitz&Daily 問題を計算して OpenFOAM の動作を確認します。以下のコマンドを順次、実行します。
$cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily . $cd pitzDaily $blockMesh $simpleFoam $paraFoam
「paraFoam」コマンドで ParaView(paraFoam)が起動し、計算結果が読み込まれます。まずウィンドウ左側にある「Apply」ボタンをクリックします。
続いてツールバーにある「Time:」を「3」に変更します。
最後にツールバーにあるコンボボックスで変数として「U」(速度)を選択します。すると図の様に 3D ビューに速度の大きさがコンター表示されます。
これで Windows への OpenFOAM のインストール、動作確認が終了しました。次回以降は以下の手順で 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 を検索してアンインストールします。