はじめに
以前にDocker環境にOpenFOAMをインストールする記事を書きましたが,環境の都合やそもそもネイティブのUbuntuを使用しているユーザー向けに書き直すことにしました.
事前にWSLの環境は構築済みであるとします.以降のコマンドはすべてWSL上で実行されます.Ubuntuで実行している場合はその素のターミナルになります.
OpanFOAMのインストール
ここでは公式サイト( https://develop.openfoam.com/Development/openfoam/-/wikis/precompiled/debian )に示される,aptを使用する方法を使用します.
まず,aptにOpenFOAMをダウンロード先を認識させる準備をします.以下のコマンドを実行します.
curl https://dl.openfoam.com/add-debian-repo.sh | sudo bash
実行すると数行のダウンロード状況が出ますが,実はこの状態でsudo bashに必要な管理者パスワードを待ち受けています.そのため実行したあと管理者パスワードを入力してください.そうすると次の状況に進みます.
次に
sudo apt-get update
を実行してaptにOpenFOAMのダウンロード先を認識させます.
最後に以下のコマンドでaotのパッケージとしてOpenFOAMをインストールします.末尾の数字はバージョンによって変わります.
sudo apt-get install openfoam2312-default
OpenFOAMの実行
インストールしたOpenFOAMを実行するには以下のコマンドを使います.
openfoam2312
これを実行するとOpenFOAMを実行するための環境に移動します.
離脱するためには
exit
を実行します.
チュートリアルの実行はこちら( https://develop.openfoam.com/Development/openfoam/-/blob/master/doc/Build.md )の項目「コンパイル後の手順」を参考にして行います.
OpenFOAMを実行するターミナルは実行時のカレントディレクトリを引き継いでいます.そこに実行するためのディレクトリを作ります.
mkdir run
ここにチュートリアルをコピーします.
cp -r "$FOAM_TUTORIALS"/incompressible/simpleFoam/pitzDaily ./
ここでいう$FOAM_TUTORIALSはチュートリアルが置かれたディレクトリです.このディレクトリは管理者権限が必要であるため,そこに移動して実行すると失敗します.そのためコピーをしています.
チュートリアルの実行には以下のコマンドを使います.
cd pitzDaily && blockMesh && simpleFoam
まずコピーしたpitzDailyに移動し,blockMeshを使用して解析用のメッシュを作成します.そしてsimpleFoamで解析を実行します.
うまく実行できた場合,ディレクトリの中に0以外の数値のディレクトリが作られます.
チュートリアル実行結果の可視化
実行結果の可視化にはparaviewが必要です.これは最初からインストールされていない場合があるため,その場合以下のコマンドでインストールします.
sudo apt install paraview
このあと以下のコマンドを実行するとparaviewが立ち上がります.最初の状態では何もないのですが,赤で示すApplyを押すと結果が表示されます.
paraFoam
おわりに
実行環境の構築とチュートリアルの実行は以上の通りです.
これは個人的な話ですが,人力飛行機のフェアリングの解析に使いたいと思いつつ,未だに実行できていないのでそろそろどうにかしたいですね.