OpenFOAM-v2106をM1 Macでビルドする方法

October 17, 2021
OpenFOAM-v2106 M1 Mac Build

はじめに

Apple Silicon、Apple M1 チップ、を搭載したMacでOpenCFD版(ESI)のOpenFOAM-v2106をビルドする方法を示す。

ファイル

以下のファイルが必要になります。

  1. OpenFOAM-v2106
  2. ThirdParty-v2106.tgz
  3. OpenFOAM-v2106.patch by mrklein
  4. feexceptErsatz-v2106 by me

Case-sensitive

Macは、デフォルトで大文字小文字を区別しないファイルボリュームが使われているケースがある。OpenFOAMは、大文字小文字を区別する必要があるので、お使いのMacにAPFS (大文字/小文字を区別) ボリュームを作って、そこにOpenFOAMファイルを展開する。

ThirdParty

これに書かれているように、ThirdPartyはbrewで先にインストールする。

build方法

  1. 全てのファイルをCase-sensitiveのボリュームに保存する。
  2. OpenFOAMv2106.tgzとThirdParty-v2106.tgzを展開する。
$ tar xvzf OpenFOAM-v2106.tgz
$ tar xvzf ThirdParty-v2106.tgz
  1. OpenFOAM-v2106ディレクトリに移動し、パッチを当てる。
$ cd OpenFOAM-v2106
$ cp ../OpenFOAM-v2106.patch .
$ patch -p1 < OpenFOAM-v2106.patch
  1. feexceptErsatz.Hを差し替える。
$ mv src/OSspecific/POSIX/signals/feexceptErsatz.H src/OSspecific/POSIX/signals/feexceptErsatz.H_org
$ cp ../feexceptErsatz.H src/OSspecific/POSIX/signals/feexceptErsatz.H
  1. build
$ . etc/bashrc
$ ./Allwmake

最後に

OpenFOAM-v2106.patchでは、etc/config.sh/FFTWが適切に書かれない。私の場合は、brewでFFTWをインストールし、それへのパスをこのファイルに追記した。